PHPMailer:使用BCC处理错误

PHPMailer:使用BCC处理错误,php,phpmailer,Php,Phpmailer,我找不到我的特定场景的答案 我正在开发一个从数据库向邮件列表发送出版物的系统。我已经设法用普通的循环代码完成了 但是,我只想使用loop来添加使用BCC的收件人,如果有人遗漏了错误处理,我还想维护它,比如: foreach($array as $user){ $mail->AddBCC( $user['email'], $user['customerName']); } try{ $mail->AltBody = "To view the message, p

我找不到我的特定场景的答案

我正在开发一个从数据库向邮件列表发送出版物的系统。我已经设法用普通的
循环
代码完成了

但是,我只想使用loop来添加使用
BCC
的收件人,如果有人遗漏了
错误处理
,我还想维护它,比如:

foreach($array as $user){
    $mail->AddBCC( $user['email'], $user['customerName']);
}

try{
    $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment
    $mail->AddReplyTo("noreply@company.com","Company Name");
    $mail->SetFrom('noreply@company.com', 'Company Name');
    $mail->Subject    = "Company| E-Zine";
    $mail->MsgHTML($ezineContent);              

if(!$mail->Send()) {

    //show error msg

} else {

   //show successful msg
}


}catch (phpmailerException $e) {

     //show error msg

}catch (Exception $e) {

     //show error msg
}

$mail->ClearAddresses();
然后我想用一个电话将电子邮件发送给上面添加的所有收件人


是否可以进行错误处理,并查找是否有人因为地址不正确而未收到该邮件???

跟踪邮件操作成功与否的常见做法是使用电子邮件的“返回路径”标题

电子邮件及其标题的示例:

Return-Path: server@return.xyz.com
Received: from localhost (mx-1-1 [127.0.0.1])
    by mx-1.xyz.com (Postfix) with ESMTP id 3F81556754
    for <jbradler@xyz.com>; Wed,  2 May 2012 12:27:18 +0200 (CEST)
To: jbradler@xyz.com
Subject: test mailing
From: Jens <jbradler@xyz.com>
Message-Id: <20120502102717.763ADA88004@xyz.com>
Date: Wed,  2 May 2012 12:27:17 +0200 (CEST)

Hi Folks, ...

据我所知,我们在使用本地sendmail时遇到了问题。标头返回路径已替换为本地MTA的某些配置。如果是这种情况,请尝试使用SMTP发送到可用的中继主机。

跟踪邮件操作成功的常见做法是使用电子邮件的“返回路径”标题

电子邮件及其标题的示例:

Return-Path: server@return.xyz.com
Received: from localhost (mx-1-1 [127.0.0.1])
    by mx-1.xyz.com (Postfix) with ESMTP id 3F81556754
    for <jbradler@xyz.com>; Wed,  2 May 2012 12:27:18 +0200 (CEST)
To: jbradler@xyz.com
Subject: test mailing
From: Jens <jbradler@xyz.com>
Message-Id: <20120502102717.763ADA88004@xyz.com>
Date: Wed,  2 May 2012 12:27:17 +0200 (CEST)

Hi Folks, ...

据我所知,我们在使用本地sendmail时遇到了问题。标头返回路径已替换为本地MTA的某些配置。如果是这种情况,请尝试使用SMTP发送到可用的中继主机。

我感谢您的回答。但是,我使用的是PHPMailer类,如果有任何使用类似类属性、方法或技巧的解决方案,我将不胜感激。我已经添加了一个如何使用PHPMailer的示例。但是,我感谢您的回答,我正在使用PHPMailer类,如果有使用类似类属性、方法或技巧的解决方案,我将不胜感激。我已经添加了一个如何使用PHPMailer的示例。
/* define domain name for non-delivery reports */
define('RETURN_PATH_DOMAIN', 'return.xyz.com');

/* get current campaign id */
$campaignId = 123;

/* loop recipient list and send email */
foreach ($array as $userId => $user) {
  try{
    $mail = new PHPMailer();
    $mail->HeaderLine('Return-Path', $userId . '-' $campaignId . '@' . RETURN_PATH_DOMAIN);
    $mail->To($user['email'], $user['customerName']);
    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; 
    $mail->AddReplyTo("noreply@company.com","Company Name");
    $mail->SetFrom('noreply@company.com', 'Company Name');
    $mail->Subject = "Company| E-Zine";
    $mail->MsgHTML($ezineContent);         
    if(!$mail->Send()) {
      // show log
    } else {
      //show successful msg
    }
  } catch (Exception $e) {
    // show error
  }
}