尝试使用 PHP Mailer 和 BCC 发送邮件

Trying to send mail with PHP Mailer and BCC

我正在使用插件 "PHPMailer-master" 向存储在我的数据库中的地址发送电子邮件。

我将所有地址收集在一个字符串中:

$recipients = "mail@mail.com;mail@mail.com;mail@mail.com"; // OR
$recipients = "mail@mail.com,mail@mail.com,mail@mail.com";

稍后我设置密件抄送:

$mail->addBCC($recipients);

我也设置了我的邮箱来获取邮件:

$mail->addAddress('my@mail.com');

所以,我没有收到任何错误...但是发送的唯一邮件是给我自己的邮件...可能是什么问题?我怎样才能搜索到哪里出了问题?

更新

这就是我创建字符串的方式:

while($row = $stmt->fetch()){
    $recipients .= $row['email'] . ";";
}

您不能这样添加邮件。 AddBCC 的文档如下所示 AddBCC($address, $name = "").
我建议您使用 foreach 循环或类似的东西:

$recipientsArray = explode(";",$recipients); //The delimiter depends on your string that separated the emails
foreach($recipientsArray as $recipient) {
  $mail->addBCC($recipient);
}

更新(关于你的更新)

如何创建数组并不重要。关键是 PHPMailer 函数每次调用只接受一个 BCC。如果你获取它,那么你可以这样做:

while($row = $stmt->fetch()){
    $recipients[] = $row["email"];
}