2010-09-09 93 views
3

我正在開發一個PHP應用程序,需要測試發送電子郵件的功能。問題是我正在使用開發環境(wamp在Windows上),所以我猜我沒有訪問smtp或郵件服務器。應用程序想要從本地主機發送郵件

它看起來像我可能需要安裝一個單獨的應用程序,將作爲我的郵件服務器。什麼是最簡單的方法來做到這一點(我在Windows上工作的瓦特),是否有另一種選擇像公共服務器,用於開發人員測試(免費請,因爲我可能只用它10次,直到電子郵件功能被調整)。那麼我想我需要改變我的開發環境本身的設置?任何人都可以對此有所瞭解。

謝謝

回答

2

您需要一個SMTP服務器。我使用PostCast服務器,這是免費的,並做需要。

3

XAMPP附帶Mercury來處理電子郵件。如有必要,它可以通過SSL與SMTP服務器通話,並且適合我。

+0

所以看起來我用wamp做了一個糟糕的選擇。 – vla 2010-09-09 12:17:23

+0

@vla沒什麼大不了的,加水星應該相當容易。單獨安裝它,並在php.ini中指定'localhost'作爲SMTP服務器應該完成這項工作。 – 2010-09-09 12:18:33

0

XAMPP附帶了一個 「假」 sendmail程序。如果您使用的XAMPP,您可以使用sendmail像這樣:(忽略「僅適用於UNIX」的警告,它工作正常的Windows)

[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進行更改。