分成兩個層面來看....
(1) 你說使用 php 的 mail() function,
那麼, 應該要確認 mail() 的回傳值是 true or false.
Return Values
Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.
It is important to note that just because the mail was accepted for delivery, it does NOT mean the mail will actually reach the intended destination.
(2) 客戶 的 Server 端
alksjfljsalfjas;f
.
看看在過程中有沒有奇怪的訊息, 如 Relay denied....
php 的本身不會發信出去
在 linux 環境下, 是靠 sendmail 來將信送出
在 win 環境下, 必須設定 php.ini 裡頭的 [mail function] 區塊, 有個 SMTP 可以設定
使用那台php主機進入命令模式, 直接telnet SMTP 主機.
用SMTP CMD來溝通看看, 測試看看可否正常發信.
常用的SMTP CMD:
helo, mail from:, rcpt to:, data
給你一篇網路上的文章參考!
http://www.dk101.com/index.php/viewnews-837.html
還可以用php mailer來寄信,他可以不依賴系統的mta直接送到收件方的伺服器,失敗也有比較多的錯誤訊息。(但是如果信多的話就要考慮一下,用系統的mta來寄信可以分散php的負載)