【发布时间】:2022-01-26 07:57:18
【问题描述】:
好的,所以我需要从数据库中获取所有电子邮件地址,并批量发送电子邮件通知给每个地址。使用 addAddress() 将向每个收件人显示所有目标电子邮件。使用 addBCC() 修复了它,但现在还有另一个问题是缺少“To:”标头,我不知道如何添加它。
一个快速而肮脏的解决方法是这样的:
while($email = mysql_fetch_row($res)[0] {
$mail->addAddress($email);
$mail->send();
$mail->clearAllRecipients();
}
这非常简单,这里根本不需要 addBCC()。除了它必须发送与电子邮件地址一样多的次数。显然,这不是很优雅,而且速度要慢得多。我认为仍然必须坚持使用 addBCC() 并辅以 addCustomHeader() 之类的东西,但我看不出这种组合如何不会遇到与 addAddress() 相同的命运,所有地址都在 send() 之前添加。是否存在真正的解决方法?
【问题讨论】:
-
即使您正确设置了 SPF、DKIM 和 DMARC,密件抄送邮件也很有可能被投递到垃圾邮件文件夹。我通常会自动删除收件人:或抄送:字段中没有我的名字的任何内容。您可能会发现发送单独的电子邮件是唯一可靠的做法。
-
这并不是密件抄送的真正目的。如果收件人过多,您的电子邮件也可能会被标记为垃圾邮件
-
你是说即使自定义标题也不会阻止它进入垃圾邮件?