0

我想一次向多个用户发送邮件,但一个用户不应该看到其他用户的地址,即在密件抄送中制作它们,但邮件应该只发送一次。我为此使用了 PHPMailer。

  $i = 1;
  $emailCount = count($newEmail);
  foreach($newEmail as $emailAddress)
  {
        if($emailCount != $i)
        {
            $phpmail->AddAddress($emailAddress);
        }
        $i++;
  }
4

2 回答 2

0

正如 MrGingerbear 指出的那样,AddBCC 就是您需要做的所有事情。

每个人只会收到一条消息,他们将无法看到其他收件人。

这是我所拥有的:

$recipients = array(
   'recipient1@domain.com' => 'Alex Baker',
   'recipient2@domain.com' => 'Charles Dickens',
);
foreach($recipients as $email => $name)
{
    $mail->AddBCC($email, $name);
}

编辑:澄清 AddAddress() 不是必需的,大部分时间只是使用,因为您通常在 To: 字段中包含一个地址。但是,在您的场景中,这样做是不利的,因为这样所有用户都会看到每个用户的地址。

编辑2:由于电子邮件的设计方式,不可能只发送一封邮件,但收件人:字段对于每个收件人来说看起来都不同,也看不到其他收件人的电子邮件地址。

于 2012-10-19T04:31:05.100 回答
0

您正在寻找的代码是:

$phpmail->AddBCC($emailAddress);

将它放在您的循环中,以添加您想要发送到的所有地址作为密件抄送。我相信您不需要使用 AddAddress 指定地址,而是可以添加许多密件抄送并以这种方式发送电子邮件。有关更多信息,请参阅此其他线程

有关包含正确文件的信息,请参阅此论坛主题

于 2012-10-19T04:25:57.757 回答