2011-01-10 106 views
22

我正在學習PHP,並在我的電腦上安裝了Xampp。在xampp的PHP郵件設置

但我有一個安裝問題,因爲電子郵件選項似乎沒有工作。

做一些閱讀後,我認爲這是與下面的,在php.ini文件我的服務器上發現

[mail function] 
; For Win32 only. 
; *hp://*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] 

[請注意我上面 惠普已經改變了://從http://因爲本網站的限制發佈超鏈接]

有什麼我需要改變?我曾經見過像swiftmailer這樣的軟件,但我不知道Xampp是否已經包含了這個功能? 任何提示將不勝感激!

感謝 詹姆斯

+6

Xampp包括水星。你確定了嗎?我認爲該文檔還包括一個關於使PHP工作的章節 – 2011-01-10 23:10:10

回答

13

我最喜歡的SMTP服務器是hMailServer

它有一個很好的Windows友好安裝程序和嚮導。放下我設置過的最簡單的郵件服務器。

它可以通過您的gmail/yahoo/etc帳戶代理或直接發送電子郵件。

安裝完成後,xampp中的電子郵件只會在沒有配置更改的情況下運行。

+1

嗨,拜倫,有沒有關於如何設置hMailserver代理髮送電子郵件到Gmail和雅虎的任何教程? – jasper 2014-05-17 14:33:36

5

除非在本地計算機上設置了郵件服務器,否則設置SMTP = localhost將不起作用。

在過去的日子裏(很久以前),將SMTP的值設置爲ISP的SMTP服務器地址就足夠了。現在很少有效,因爲大多數ISP堅持使用用戶名和密碼進行身份驗證。但是,PHP mail()函數不支持SMTP認證。它旨在直接與本地服務器的郵件傳輸代理一起工作。

您既可以設置本地郵件服務器,也可以使用支持SMTP驗證的PHP類,如Zend_Mail或PHPMailer。然而,最簡單的解決方案是將郵件處理腳本上傳到遠程服務器。

7

XAMPP應該有一個「假的」sendmail程序。在這種情況下,你可以使用sendmail以及:

[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 = "C:/xampp/sendmail/sendmail.exe -t -i" 

的Sendmail應該有它sendmail.ini;應該是這樣配置:

# Example for a user configuration file 

# Set default values for all following accounts. 
defaults 
logfile "C:\xampp\sendmail\sendmail.log" 

# Mercury 
#account Mercury 
#host localhost 
#from [email protected] 
#auth off 

# A freemail service example 
account ACCOUNTNAME_HERE 
tls on 
tls_certcheck off 
host smtp.gmail.com 
from EMAIL_HERE 
auth on 
user EMAIL_HERE 
password PASSWORD_HERE 

# Set a default account 
account default : ACCOUNTNAME_HERE 

當然,用任意帳戶名稱替換ACCOUNTNAME_HERE,一個有效的電子郵件(如Gmail或Hotmail等)代替EMAIL_HERE,並與密碼到您的電子郵件取代PASSWORD_HERE。現在,你應該可以發送郵件。請記住重新啓動Apache(從控制面板或批處理文件)以允許對PHP進行更改。