2014-04-16 17 views
1

試圖從數據庫中獲取的電子郵件ID,居然成功發送240個郵件發送2000個多郵件,在那之後我得到了這樣的錯誤PHPMailer的大宗郵件

代碼

$mail->addAttachment('images/attach.gif'); 
$mysql = mysql_connect('localhost', 'username', 'password'); 
mysql_select_db('db_name', $mysql); 
$result1 = mysql_query("SELECT first_name, email_id FROM email WHERE status = '0'", $mysql); 
$body = file_get_contents('contents.php'); 
while ($row1 = mysql_fetch_array($result1)) { 

    $mail->AltBody = 'alt body text here'; 
    $mail->msgHTML($body); 
    $mail->addAddress($row1['email_id'], $row1['first_name']); 

    if (!$mail->send()) 
    { 
     echo "Mailer Error (" . str_replace("@", "&#64;", $row1["email_id"]) . ') ' . $mail->ErrorInfo . '<br />'; 
     break; //Abandon sending 
    } else 
    { 
     echo "Message sent to :" . $row1['first_name'] . ' (' . str_replace("@", "&#64;", $row1['email_id']) . ')<br />'; 
    } 
    // Clear all addresses and attachments for next loop 
    $mail->clearAddresses(); 
    $mail->clearAttachments(); 
} 
一些錯誤

後240+郵寄我得到這樣的錯誤,如果,即時通訊新的PHPMailer請告訴我這是什麼問題以及如何解決這個問題,該bug

錯誤

Mailer Error (***email***) The following From address failed: [email protected] : MAIL FROM command failed,503,sender already given 
    Mailer Error (***email***) The following From address failed: [email protected] : MAIL FROM command failed,503,sender already given 
    Mailer Error (***email***) SMTP Error: data not accepted. 
    Mailer Error (***email***) The following From address failed: [email protected] : MAIL FROM command failed,503,sender already given 
    Mailer Error (***email***) The following From address failed: [email protected] : MAIL FROM command failed,503,sender already given 
... 
... 
... 
+2

我刪除了出現在您的錯誤消息中的純文本電子郵件。您的客戶可能不希望他們的地址顯示在這裏......錯誤似乎來自您設置「FROM」參數的部分,但它似乎不在您的示例中。 –

回答

1

確保您使用的是latest PHPMailermsgHTML()也設置AltBody,所以如果您想要自定義AltBody,請在致電msgHTML後設置它。

MAIL FROM錯誤表明您可能未完成先前的消息,這可能是由於在單個會話期間格式錯誤的內容或消息數限制所致。如果您使用$mail->SMTPDebug = 2;啓用調試,您將能夠看到更多的對話。

嘗試設置$mail->SMTPKeepAlive = false;以使其分別發送每條消息(這會更慢但更可靠),因爲這可能是因爲您試圖在單個連接中發送比主機允許的更多消息。您可以關閉發送循環並每200條消息重新打開SMTP連接以避免此問題。

相關問題