2012-12-28 76 views
0

我試圖配置我的sendmail通過XAMPP發送電子郵件。我的本地服務器駐留在Windows 7中&我正在使用最新的更新的sendmail。XAMPP sendmail無法正常工作

我與我的Gmail帳戶

這是我的php.ini郵件功能配置此。我的XAMPP是在E:目錄:

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
;SMTP = localhost 
; http://php.net/smtp-port 
;smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
;sendmail_from = [email protected] 

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
; http://php.net/sendmail-path 
;sendmail_path = "\"E:\xampp\sendmail\sendmail.exe\" -t" 
sendmail_path = "E:\xampp\sendmail\sendmail.exe\ -t -i" 

; Force the addition of the specified parameters to be passed as extra parameters 
; to the sendmail binary. These parameters will always replace the value of 
; the 5th parameter to mail(), even in safe mode. 
;mail.force_extra_parameters = 

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename 
mail.add_x_header = Off 

; Log all mail() calls including the full path of the script, line #, to address and headers 
;mail.log = "E:\xampp\php\logs\php_mail.log" 

這實際上是我的整個sendmail.ini

; configuration for fake sendmail 

; if this file doesn't exist, sendmail.exe will look for the settings in 
; the registry, under HKLM\Software\Sendmail 

[sendmail] 

; you must change mail.mydomain.com to your smtp server, 
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup) 
; emails delivered via IIS's pickup directory cause sendmail to 
; run quicker, but you won't get error messages back to the calling 
; application. 

smtp_server=smtp.gmail.com 

; smtp port (normally 25) 

smtp_port=25 

; SMTPS (SSL) support 
; auto = use SSL for port 465, otherwise try to use TLS 
; ssl = alway use SSL 
; tls = always use TLS 
; none = never try to use SSL 

smtp_ssl=auto 

; the default domain for this server will be read from the registry 
; this will be appended to email addresses when one isn't provided 
; if you want to override the value in the registry, uncomment and modify 

;default_domain=mydomain.com 

; log smtp errors to error.log (defaults to same directory as sendmail.exe) 
; uncomment to enable logging 

error_logfile=error.log 

; create debug log as debug.log (defaults to same directory as sendmail.exe) 
; uncomment to enable debugging 

;debug_logfile=debug.log 

; if your smtp server requires authentication, modify the following two lines 

auth_username=MYGMAILEMAIL 
auth_password=MYPASSWORD 

; if your smtp server uses pop3 before smtp authentication, modify the 
; following three lines. do not enable unless it is required. 

;pop3_server= 
;pop3_username= 
;pop3_password= 

; force the sender to always be the following email address 
; this will only affect the "MAIL FROM" command, it won't modify 
; the "From: " header of the message content 

force_sender=MYGMAILEMAIL 

; force the sender to always be the following email address 
; this will only affect the "RCTP TO" command, it won't modify 
; the "To: " header of the message content 

;force_recipient= 

; sendmail will use your hostname and your default_domain in the ehlo/helo 
; smtp greeting. you can manually set the ehlo/helo name if required 

hostname=smtp.gmail.com 

這是PHP代碼,我試圖執行送電子郵件。但沒有任何反應:

<?php mail("myemail","Works!!","Mail sent from XAMPP"); ?> 

有人能給我一些幫助嗎?預先感謝和節日快樂!

+0

我修正了這個問題到最後! :) http://stackoverflow.com/questions/4948687/xampp-sendmail-using-gmail-account – wiredmark

回答

1

發送郵件時,郵件必須包含From頭。這可以使用additional_headers參數來設置,或者可以在php.ini中設置默認值。

未能執行此操作將導致類似於Warning:mail():「sendmail_from」的錯誤消息未在php.ini中設置或未自定義「From:」標題缺失。 From標題也​​設置Windows下的Return-Path。

http://php.net/manual/en/function.mail.php

+1

難道我沒有通過force_sender實現嗎? – wiredmark

+0

該註釋聲明它不會修改「發件人:」標題:「發件人」:「郵件內容的標題」。只需從sendmail_from = postmaster @ localhost行刪除分號即可。 force_sender將覆蓋默認的postmaster @ localhost值 – MarkyCee