php email發送失敗的解決方法:1、在php.ini裡配置好適當的SMTP伺服器位址和連接埠資訊;2、借助sendmail程式發送郵件。
本文操作環境:linux5.9.8系統、PHP7.1版,Dell G3電腦
php email發送失敗怎麼辦?
PHP傳送郵件錯誤
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in
解決方法:
PHP的Mail函數使用的是SMTP服務發出E-Mail的。也就是說你需要在php.ini裡設定好適當的SMTP伺服器位址和連接埠資訊。如果你需要在本機上發出E-Mail,也就是
SMTP = localhost smtp_port = 25
這樣的話,你需要在你自己的本機上設定上SMTP服務才可以。你可以嘗試開啟IIS的SMTP服務。
說明一下,php中的mail()函數要藉助sendmail程式傳送郵件,而sendmail -t -i一般是linux/unix系統的自帶程序,而windows系統則沒有這個程式,所以就不能直接利用mail()函數發郵件了。
實作在windows下利用mail()傳送電子郵件
1、傳送郵件系統要有SMTP服務。在「windows Server 2003」下安裝「SMTP Service」元件:
A、「新增刪除Windows元件」->「應用程式伺服器」->「Internet 資訊服務(IIS)」點選「詳細資料」。
B、選擇「SMTP Service」進行安裝。
2、對SMTP進行設定:
A、開啟“Internet 資訊服務(IIS)管理器”,找到“預設 SMTP虛擬伺服器”。
B、在該服務上按一下右鍵選擇「屬性」。
C、在彈出的「預設 SMTP虛擬伺服器 屬性」方塊內點選「存取」表項,選擇「驗證」按鈕。
D、在彈出的「驗證」方塊內只選擇「匿名存取」其它都不選。
E、回到「存取」表項,選擇「中繼」按鈕,在彈出的「中繼限制」框內點選「新增」按鈕,新增127.0.0.1的IP位址。
3、修改「php.ini」:
------------------------------
[mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. sendmail_from = me@example.com
------------------------------
4、運行本程序,登陸「$toaddress」所示郵箱查看郵件。
$toaddress = 'xuzhang@mascatv.com'; $subjects = 'test the php mail'; $mailcontent = 'Onlu test the php mail!'; $fromaddress = 'From: me@localhost.com'; mail($toaddress,$subjects,$mailcontent,$fromaddress);
推薦學習:《PHP影片教學》
以上是php email發送失敗怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!