2012-12-27 90 views
1

我的服務器上的php mail()函數有一個小問題。它根本不會工作。我用這樣簡單的腳本php郵件()不能在服務器上工作

<?php 
$to  = '[email protected]'; 
$subject = 'test title'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

if(mail($to, $subject, $message, $headers)){ 
    echo "SUCCESS"; 
} 
else{ 
    echo "FAIL"; 
} 
?> 

我已經在此服務器上安裝PHPList,並且所有的功能似乎都很好。我可以順利地從我的PHPList安裝發送測試電子郵件。所以我認爲它可能與sendmail配置無關,相反,我的代碼可能有問題。

但後來我測試了我的其他服務器上的簡單腳本。原來它工作得很好。在這個階段我感到困惑。那麼這裏有哪些部分是錯誤的?是我的代碼還是郵件服務器配置?

哪裏是開始跟蹤問題的好地方?

UPDATE

我終於得到了特權訪問郵件日誌...上/var/log/mail.log,我得到了很多這行

panther5 postfix/postdrop[4961]: warning: unable to look up public/pickup: No such file or directory

我的不知道是什麼樣的錯誤?任何線索如何解決這個問題?

+0

你在使用你的電腦嗎? –

+4

我會先找到PHP和sendmail的日誌,看看他們是否有任何錯誤。之後,檢查您的垃圾郵件文件夾。 – MrGlass

+1

我不熟悉PHPLists;你是通過他們的服務器發送的(而不是使用本地的'sendmail')?通常這些競選系統使用他們自己的設置,因此他們可以減輕這些類型的設置面臨的垃圾郵件和其他問題。 –

回答

0

嘗試不帶「$ header」。服務器上的頭可接受性很可能存在問題。 此外,有些服務器會收到電子郵件地址\ @。像myownemail \ @ yahoo.com

相關問題