首頁 >後端開發 >PHP問題 >php email發送失敗怎麼辦

php email發送失敗怎麼辦

藏色散人
藏色散人原創
2021-09-18 09:38:555958瀏覽

php email發送失敗的解決方法:1、在php.ini裡配置好適當的SMTP伺服器位址和連接埠資訊;2、借助sendmail程式發送郵件。

php email發送失敗怎麼辦

本文操作環境: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn