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 在使用Fiddler和夜神模拟器抓包的时候一直出现443该怎么办啊QAQ搜了好几个笔记都没有解决
  • ¥15 3x7的二维数组A、B、C,A中的任意1个数组元素与B的任意1个数组元素、同时又与C的任意1个数组元素比较,把不同位置出现相同数的比较称为无意义,反之称为有意义,把有意义的比较打印输出。
  • ¥20 预测模型怎么处理原始数据(随机森林)
  • ¥20 请问discuz3.5如何实现插入ckplayer全能播放器功能呢?
  • ¥15 thingsboard代码编译出错误
  • ¥15 博途v18仿真报错怎么解决
  • ¥15 欧姆龙plc枕式包装机 ST编程
  • ¥15 为啥快手广告联盟的广告这么难出来
  • ¥15 k8s集群重启后,kubelet一直报systemctl restart kubelet.service "Failed to delete cgroup paths"