2015-03-31 56 views
0

我想使用Mandrill發送我的電子郵件。我正在自定義我的phpmailer,我曾經用mandrill phpmailer發送郵件。 (這裏找到:http://help.mandrill.com/entries/23737696-How-do-I-send-with-PHPMailer-使用Mandrill發送郵件PHPmailer無法使用

require 'mandrillmailer/class.phpmailer.php'; 

$mail = new PHPMailer(); 

$mail->IsSMTP();          // Set mailer to use SMTP 
$mail->Host = 'smtp.mandrillapp.com';     // Specify main and backup server 
$mail->Port = 587;         // Set the SMTP port 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
$mail->Username = 'MANDRILL_USERNAME';    // SMTP username 
$mail->Password = 'MANDRILL_APIKEY';     // SMTP password 
$mail->SMTPSecure = 'tls';       // Enable encryption, 'ssl' also accepted 

$mail->From = '[email protected]'; 
$mail->FromName = 'Your From name'; 
$mail->AddAddress($to); // Add a recipient 


$mail->IsHTML(true);         // Set email format to HTML 

$mail->Subject = $subject; 
$mail->Body = $message; 
echo $mail->Subject; 
//$mail->Send(); 
//$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->Send()) { 
    echo 'hiii'; 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
    exit; 
} 
else{ 
    echo 'hello'; 
    echo 'Message has been sent'; 
} 
die('here'); 

我沒有得到即郵件發送或不響應消息。我通過echo語句調試了它被卡住的地方。我可以看到直到echo $mail->Subject;的消息,但沒有超出。我猜$mail->Send()不能正常工作,這就是爲什麼超出這個範圍的信息沒有顯示和電子郵件發送不起作用。

我該如何解決這個問題?

+0

什麼是'$ MAIL-> ErrorInfo'返回? – Grokify 2015-03-31 12:04:20

+0

@Grokify:我不能說。在代碼中,上面提供的鏈接來自官方網站。我想這是爲了顯示錯誤信息。 – kiran 2015-03-31 12:07:10

回答

1

假設你已經把適當的授權,試圖通過要求自動加載器而不是phpmailer類。這爲我工作:

require 'mandrillmailer/PHPMailerAutoload.php';

或者,您也可以嘗試一些更容易一些。像官方Mandrill PHP client或像sendwithus這樣的單獨服務。

+0

@迪倫摩爾:謝謝你的幫助。它的工作。但我有疑問。你能告訴我爲什麼它不說從mandrillapp.com收到郵件或收到郵件中的東西?並且在發送的郵件箱中,爲什麼它沒有顯示已發送的郵件? – kiran 2015-04-01 04:57:38

+0

檢查Mandrill中的[出站](https://mandrillapp.com/activity)部分 - 您會看到您的電子郵件是否已發佈。 「爲什麼它不說從mandrillapp.com收到郵件......」是什麼意思?你希望郵件者告訴你嗎?如果你正在尋找類似的東西,我建議使用Mandrill的PHP客戶端。 – 2015-04-01 17:21:57

+0

@迪倫摩爾:好的。我首先嚐試使用mandrill郵件程序的小型演示代碼,然後嘗試使用我的網頁進行了自定義。當我第一次在發件人發送的郵箱中嘗試過這段時間,並且mandrill的發件箱都顯示了郵件。在收件人的電子郵件中,我已經通過mail10.wdc04.mandrillapp.com_看到了我曾經提到過的發件人姓名_John。現在在上面嘗試郵件顯示在發件箱不在發件人的發送框中,也沒有在接收者的收件箱中顯示_via mail10.wdc04.mandrillapp.com_。 – kiran 2015-04-02 05:04:27

0

首先檢查的PHPMailer類版本如果低於5版則使用最新版本5.2.9 我的問題解決了,因爲我使用的版本5.2.9