2010-08-30 228 views
0
<?php 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
mail("[email protected]", "hello", "nothing",$headers); 
echo "mail sent"; 
?> 

,但它實際上並沒有發送郵件,請幫助我這個爲什麼PHP腳本的郵件不發送電子郵件

+2

你有尋找到你的郵件服務器的日誌文件的可能性大嗎?你有什麼信息?你是否在Web服務器日誌中收到任何錯誤消息? – 2010-08-30 17:34:23

回答

8

郵件功能僅僅是本地郵件服務器的接口。 PHP中的郵件功能依賴於PHP正在運行的計算機正確配置並能夠發送電子郵件。檢查機器上的郵件系統配置。

4

檢查以下內容 -

  1. 檢查如果您的SMTP服務器正在運行(您可以通過兩種命令行工具檢查或嘗試ftp'ing到端口25)。
  2. 如果您的smtp服務器正在運行。然後嘗試手動發送郵件(不含腳本)。使用命令行郵件命令(我假設你在這裏有unix)。

另外,當您運行腳本時會發生什麼?您的郵件可能位於隊列中。從你的終端類型'mailq'。這顯示隊列中的當前電子郵件&他們爲什麼在那裏。此外還有一個相應的日誌。你也可以查看信息。

我的猜測是,如果以上所有的都在運行,你很好走。

1

請檢查下面**請驗證您的服務器發件人域政策**通過你的服務器(郵件服務器和共享的網絡服務器)發送

電子郵件應該從這裏託管你的服務器地址使用。與其他地方(如Hotmail或Google)託管的發件人地址一起發送的電子郵件可能會被阻止。

即使用

$header = "From:[email protected]/*yourhostname.domain name*/ \r\n";