PHPMailer在发送电子邮件时是否显示列表中的所有收件人?

PHPMailer在发送电子邮件时是否显示列表中的所有收件人?,php,email,phpmailer,Php,Email,Phpmailer,我正在使用PHPMailer发送电子邮件。我在foreach循环中使用它,以便向收件人列表发送电子邮件 它正在工作,因为电子邮件正在发送,但每个收件人都会收到完整的收件人列表 foreach ($id as $item) { $mail->addAddress($item); $mail->Subject = $correo['mailAsunto']; $mail->Body = $correo['mailMensaje'

我正在使用PHPMailer发送电子邮件。我在foreach循环中使用它,以便向收件人列表发送电子邮件

它正在工作,因为电子邮件正在发送,但每个收件人都会收到完整的收件人列表

foreach ($id as $item) {
        $mail->addAddress($item);
        $mail->Subject = $correo['mailAsunto'];
        $mail->Body    = $correo['mailMensaje'];
        if(!$mail->send()) {
            echo 'Error: ' . $mail->ErrorInfo;
        } else { 
          echo 'Mail sent to '.$item.'<br>';
        }
}

假设这是正确的PHPMailer github回购协议,请看。您需要将该标志设置为true。然后,等待循环结束后执行
send
函数。

假设这是正确的PHPMailer github repo,请参阅。您需要将该标志设置为true。然后,等待循环结束后执行
send
功能。

您正在将地址添加到同一对象,因此这些地址正在累积。向每个地址发送邮件后,请尝试删除该地址:

foreach ($id as $item) {
        $mail->addAddress($item);
        $mail->Subject = $correo['mailAsunto'];
        $mail->Body    = $correo['mailMensaje'];
        if(!$mail->send()) {
            echo 'Error: ' . $mail->ErrorInfo;
        } else { 
          echo 'Mail sent to '.$item.'<br>';
        }
        $mail->ClearAllRecipients();    ◄■■■■■■■■■■■■■■■■■■■■■■■■■
}
foreach($id作为$item){
$mail->addAddress($item);
$mail->Subject=$correo['mailAsunto'];
$mail->Body=$correo['mailMensaje'];
如果(!$mail->send()){
回显“错误:”。$mail->ErrorInfo;
}否则{
回显“邮件已发送到“.$item”。
; } $mail->ClearAllRecipients();◄■■■■■■■■■■■■■■■■■■■■■■■■■ }
您正在将地址添加到同一个对象,因此这些地址正在累积。向每个地址发送邮件后,请尝试删除该地址:

foreach ($id as $item) {
        $mail->addAddress($item);
        $mail->Subject = $correo['mailAsunto'];
        $mail->Body    = $correo['mailMensaje'];
        if(!$mail->send()) {
            echo 'Error: ' . $mail->ErrorInfo;
        } else { 
          echo 'Mail sent to '.$item.'<br>';
        }
        $mail->ClearAllRecipients();    ◄■■■■■■■■■■■■■■■■■■■■■■■■■
}
foreach($id作为$item){
$mail->addAddress($item);
$mail->Subject=$correo['mailAsunto'];
$mail->Body=$correo['mailMensaje'];
如果(!$mail->send()){
回显“错误:”。$mail->ErrorInfo;
}否则{
回显“邮件已发送到“.$item”。
; } $mail->ClearAllRecipients();◄■■■■■■■■■■■■■■■■■■■■■■■■■ }
每次通过循环,您都会将另一个地址添加到收件人列表中。如果要在循环时重用
$mail
对象,则应在每次发送后使用清除收件人。要获得更完整的解决方案,请查看。每次通过循环时,您都将另一个地址添加到收件人列表中。如果你想在循环时重复使用
$mail
对象,你应该在每次发送后使用清除收件人。要获得更完整的解决方案,请参阅。1天15小时后,你的答案终于救了我的命:)谢谢。1天15小时后,终于,你的回答救了我的命:)谢谢你。linkn现在破产了看起来好像发生了两件事,一次重构将我提到的
SingleTo
标志移动了。另外,它已经被弃用,所以请使用其他解决方案“`*@deprecated 6.0.0 PHPMailer不是邮件列表管理器```linkn目前正在崩溃,就像发生了两件事一样,重构将我提到的
SingleTo
标志移动到了。另外,它已经被弃用,所以请使用其他解决方案“`*@deprecated 6.0.0 PHPMailer不是邮件列表管理器```