如何使用 php 邮件程序仅显示 TO 地址上的相关电子邮件

How to show only relevant email on TO Address using php mailer

使用phpmailer发送邮件时如何隐藏其他邮件?我从数据库中收到电子邮件。 该代码正在向 TO 上的 headers 以外的所有人发送邮件,它显示了所有电子邮件。请帮助我的代码如下:

$stmt = $conn->prepare("SELECT * FROM subscribers");
$stmt->execute();
$results= $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $row){
    $mail->addAddress($row['email']); 
}

您可以在循环内添加发送函数,但是这在大型数据集上会占用大量资源。

$stmt = $conn->prepare("SELECT * FROM subscribers");
$stmt->execute();
$results= $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $row){
    $mail->addAddress($row['email']); 
    $mail->Send();
    $mail->clearAddresses();
}

您也可以将其用作参考,以更有效地执行此操作

https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps

正如上面评论中 KIKO Software 所提到的,如果电子邮件不是每个用户的 个性化 那么您可以在循环中使用 $mail->addBcc($row['email']) 并且批量发送所有电子邮件。

// add a main email address
$mail->addAddress('an_email_here');
foreach($results as $row){
    // then just bcc other emails.
    $mail->addBcc($row['email'])
}
$mail->Send()

注意:这也会让用户看到这些电子邮件只是 BCCed