phpmailer 用循環給多人寄信,但標題出現問題

$mail->Subject = '嗨! '.$row['name'].'!';
        $mail->Body = 'xxx';
        $mail->AddBCC($row['email']);

我用一個 while 迴圈想要寄出多個人
現在有個問題
確定可以寄給多個人,都會收到
但標題卻是同一個人的名字?
我有先打印出來先看是否是不是不同人名也不同電子郵件,確認是不同的!
標題都會是某一個人的名字....我猜是 $mail->Subject 不能重複?
那這樣我辦法讓 $mail->Subject$mail->Body 可以針對不同使用者多個顯示嗎?
$mail->AddBCC一樣是可以多個的

阅读 2.7k
1 个回答

更新答案,看过代码,发现send方法在while循环外,请将send方法移到while循环体中。
同时,每次在while循环前,添加一句$mail->ClearAllRecipients()移除之前的收件人。

      while ($row = mysqli_fetch_array($emailFind)) {
        $mail->ClearAllRecipients();
        $mail->Subject = '嗨! '.$row['name'].'!';
        $mail->Body = '<a href="'.$host_url.'products/'.$url.'" target="_blank">'.$host_url.'products/'.$url.'</a>';
        $mail->AddBCC($row['email']);
        
        if(!$mail->Send()) {
            echo 'error';
        }
      }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题