添加多个接收器时,PHPMailer 5.1发送重复邮件

Jos*_*ndo 7 php email phpmailer

我现在使用PHPMailer已经有一段时间没有任何问题,但上周我在网站上安装了我的一个CMS,而且客户端坚持要收到2封电子邮件,收到他网站联系表格的内容.

好吧,我没想过,只需使用$ phpmailer-> AddAddress()函数添加电子邮件地址.但是,添加第二个接收器会导致PHPMailer将邮件两次发送到两个接收器.我尝试添加第三个接收器,看看我是否得到它三次,但这并没有改变任何东西.因此,添加2个以上的接收器会导致PHPMailer将消息两次发送到所有接收器.

我的代码中没有什么奇怪的.这是一个基本的PHPMailer示例:

$mail             = new PHPMailer();
$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->SetFrom('name@yourdomain.com', 'First Last');

$mail->AddAddress("info@address.com");
$mail->AddAddress("info@address.nl");
$mail->Subject    = "PHPMailer Test Subject via mail(), basic"; 

$mail->Send();
Run Code Online (Sandbox Code Playgroud)

我已经没有选择了.我完全不知道哪里出错了.

提前致谢

-

只是一些随意的想法:我注意到邮件是iso-8859-1默认,我的网站运行utf8.服务器本身可以进行"静默"重定向吗?

//编辑,^^解决了我的问题

// EDIT2:

好吧,它没有...今天脚本工作正常(只有1个邮件有2个接收器)但不久前这个奇怪的行为又开始了.有小费吗?

//解决方案:

好的,我觉得安静愚蠢!答案Zulkhaery Basrul最接近实际问题!这就是发生的事情:我正在向"to"字段中的多个地址发送电子邮件.例如:

致:A,B,C

A/B都是我自己的地址.在outlook中,我有一些消息规则可以将特定文件夹中的某些收件人的电子邮件放入其中.A和B都有这个规则.

当我收到我的电子邮件时,两封邮件都包含了to-field中的mailaddresses.导致两个邮件都满足两个规则的规则要求.因此,将原件保存在一个文件夹中并在另一个文件夹中创建一个副本(两次).

谢谢你的想法:)

Zul*_*rul 5

您可以使用$ SingleTo属性.

来自PHPMailer文档:

$ SingleTo

提供让TO字段处理单个电子邮件的能力,而不是发送到整个'TO地址'

$mail = new PHPMailer();

$mail->SingleTo = true; //will send mail to each email address individually


$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->SetFrom('name@yourdomain.com', 'First Last');

$mail->AddAddress("info@address.com");
$mail->AddAddress("info@address.nl");
$mail->Subject    = "PHPMailer Test Subject via mail(), basic"; 

$mail->Send();
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试添加后

$mail->send();


$mail->ClearAddresses();
Run Code Online (Sandbox Code Playgroud)