dporu02280 2016-09-16 15:51
浏览 320
已采纳

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

I'm using PHPMailer to send emails. I've use it inside a foreach loop in order to send an email to a list of recipients.

It is working, because the email is being sent, but each recipient receives the whole list of recipients!

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>';
        }
}

I've tried: $mail->AddBCC($item); instead of addAddress but the email can still be seen in the "TO" header.

What may I do? This can have serious privacy implications.

UPDATE

Just in case anyone has a similar issue, after the responses received, here's how the code is now:

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->ClearAddresses(); 
                    $mail->ClearAllRecipients();
        }
}
  • 写回答

2条回答 默认 最新

  • du7999 2016-09-16 15:58
    关注

    You are adding the addresses to the same object, so they are being accumulated. Try deleting each address after sending the message to it:

    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();    ◄■■■■■■■■■■■■■■■■■■■■■■■■■
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同