如何不让PHPmailer发送包含多个';至';地址?

如何不让PHPmailer发送包含多个';至';地址?,php,phpmailer,Php,Phpmailer,我的数据库中有一个表,其中包含要发送的电子邮件。脚本作为cron作业定期运行,以从表中读取数据并通过SMTP服务器发送电子邮件。我正在使用PHPMailer来完成这里的工作。该脚本运行发送电子邮件的循环,直到表中的所有电子邮件都已发送 问题是,大多数连续发送的电子邮件都有一个共同的主题。因此,当循环运行时,所有发送的电子邮件都有一个长长的“收件人”列表。因此,基本上,如果5个电子邮件条目(具有不同的至地址)具有相同的主题和相同的内容,那么它只会在“收件人”字段中发送1封包含5个地址的电子邮件(每

我的数据库中有一个表,其中包含要发送的电子邮件。脚本作为cron作业定期运行,以从表中读取数据并通过SMTP服务器发送电子邮件。我正在使用PHPMailer来完成这里的工作。该脚本运行发送电子邮件的循环,直到表中的所有电子邮件都已发送

问题是,大多数连续发送的电子邮件都有一个共同的主题。因此,当循环运行时,所有发送的电子邮件都有一个长长的“收件人”列表。因此,基本上,如果5个电子邮件条目(具有不同的地址)具有相同的主题和相同的内容,那么它只会在“收件人”字段中发送1封包含5个地址的电子邮件(每个电子邮件条目一个)。这会向列表中的其他人显示每个人的电子邮件地址。这是不可取的,电子邮件必须只发送给一个人的意思


我不知道这是怎么回事。有什么建议吗?

你在做这样的事情吗

$mailer = new PHPMailer();

while($row = fetch_from_db()) {
   $mailer->AddAddress($row['email']);
   $mailer->send();
}
如果是这样,你需要做一个

$mailer->ClearAllRecipients()

在您发送每封电子邮件后,您将从一个“新的”
收件人列表开始。

首先,从数据库中获取联系人

$contacts = 'GET CONTACTS ARRAY FROM DB'
        if(!empty($contacts)){
            foreach ($contacts as $crt_contact){
               $emails[] = $crt_contact->email ;
            }
        }
第二,使用以下命令创建“收件人”字段


使用
$to
发送邮件()函数

似乎你应该在用户上循环发送电子邮件,而不是在电子邮件上循环并添加用户。这是一个高尚的想法,但我正在尝试的是向个人发送电子邮件,而不是向多个人发送一封电子邮件。我想,我能做的就是使用一个“收件人”地址,其余的可以发送到“密件抄送”。让我想想,我被这个窃听了。谢谢你的帮助,它很有效。:)
$to = implode(',', array_unique($emails));
while($row = fetch_from_db()) {
   $mailer->AddAddress($row['email']);
   $mailer->send();
   $mailer->ClearAllRecipients()
}