2015-06-20 47 views
0

我的郵件腳本只在未設置標題時發送郵件。我在兩臺不同的服務器上使用相同的代碼,它可以在一臺服務器上運行,但不能在另一臺服務器上運行它不起作用的是一個Siteground上託管的WordPress網站,如果這有什麼不同。即使它不發送,它總是作爲'成功'出現。有誰知道我能做什麼?我希望找到某種郵件錯誤日誌,但我似乎無法找到它們。我用電子郵件作爲標題嘗試過,但仍然無效。僅在未設置標題時發送PHP郵件(Siteground)

$headers = array("From: " . $name . '<' . $email . '>', 
       "Reply-To: " . $name . '<' . $email . '>', 
       "X-Mailer: PHP/" . PHP_VERSION, 
       "MIME-Version: 1.0", 
       "Content-type: text/html; charset=iso-8859-1" 
      ); 

      $headers_buyer = implode("\r\n", $headers); 

if(mail($admin_email, $subject, $message, $headers_buyer)) 
        { 
         echo "Success"; 
        } 
        else 
        { 
         echo "Failure"; 
        } 
+2

您應該聯繫託管您網站的公司的支持。如果PHP函數['mail()'](http://php.net/manual/en/function.mail.php)返回「success」,那麼在你的代碼中沒有問題,這是阻止電子郵件發送。而webhoster是詢問有什麼問題的最合適的地方。 – axiac

回答

2

我會建議你使用的PHPMailer來代替本地郵件的功能。

你會得到一個更詳細的發生了什麼事情的蹤跡,這是我謙卑的意見發送電子郵件與PHP的最佳方式。

如果仍有問題,請嘗試使用PhpMailer和Mandrill或Sendgrid的免費帳戶。它們都是交易電子郵件服務,可讓您每月發送直至12.000封電子郵件,且不收費,並且具有較高的可傳送性結果。

2017年九月編輯

我糾正我的答案,現在只有Sendgrid可以自由使用,最多不超過100封郵件/天。開始時還是相當不錯的。