如果邮件不存在,PHPMailer通过addCC函数发送邮件然后跳过该电子邮件地址

时间:2017-02-13 07:07:37

标签: php phpmailer

我有一个场景,我必须在PHPMailer电子邮件的抄送(CC)字段中添加多个地址。如果电子邮件无效,则不会发送当前邮件。

我希望如此,如果电子邮件地址无效,它将跳过在$mail->addCC($cc);中添加该电子邮件地址,并简单地发送给其他收件人。

在PHPMailer中有没有其他方法可以实现这一目标?如果是这样,请向我推荐。

2 个答案:

答案 0 :(得分:0)

您可以向主要收件人发送电子邮件给抄送收件人,如下所示:

/* Prepare PHPMailer object */
...

/* Send email to main recipient */
...

/* Form cc array */

$ccs= [
       "FirstCC"  => "first@mail.com",
       "SecondCC" => "second@mail.com"
      ];

/* Send email to each cc as to main */

foreach ($ccs as $name => $address)
{
    $mail->clearAddresses();
    $mail->AddAddress($address, $name);
    $mail->Send();
}

这种方式可以确保所有有效的收件人都能收到电子邮件

答案 1 :(得分:0)

PHPMailer会自动验证您提供的所有地址。您可以判断地址是否真正被接受的唯一方法是尝试发送到该地址,如果失败,请不要尝试下次发送。如果要发送到多个CC(所有收件人都可以看到邮件中的所有其他地址),请执行以下操作:

...
$mail->addAddress('me@example.com');
foreach ($ccs as $cc) {
    $mail->addCC($cc);
}
$mail->send();

addCC会自动跳过实际上无效的地址(对于任何无效的地址返回false),但此时无法确定是否接受地址传送 - 您必须尝试提供才能找到答案。