phpmailer 发user表中mail的问题,急急急急.....我想用phpmailer邮件发送类 我user表中email,以做为通知表大概是这样的id  name   mail
1   AA   [email protected]
2   BB   [email protected]我发现用while循环phpmailer群发邮件的时候,$mail->Send(); 会累加每个邮件,发送.  效果就是第一次循环发给AA,第二次发给AA和BB.....如果几千人呢....最后一人会收到几千封邮件....我只能把$mail->Send(); 写到while外面,一起发送.但是这样会有个问题,就是如果一起发送,群发的邮件太多,smtp应该应该会限制吧.   而且这样相互都能看到别人的名子和邮件了......有没有办法让$mail->Send(); 一次只发当前循环的邮件呢?急呀急呀,各位老师,多帮忙
以下是我的代码.        require("class.phpmailer.php"); $mail = new PHPMailer(); //建立邮件发送类
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "mail.XXX.com.cn"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "[email protected]"; // 邮局用户名(请填写完整的email地址)
$mail->Password = "123456"; // 邮局密码
$mail->From = "[email protected]"; //邮件发送者email地址
$mail->FromName = "XXXXX"; while($row_user=$db->getarray($result_user))
        {
 if($row_user[email]!='')
         {
 $mail->AddAddress("$row_user[email]", "$row_user[username]");  $mail->Subject = "=?GB2312?B?".base64_encode("发布了新文章“$row_article[title]”")."?="; //邮件标题
 $mail->Body = $message; //邮件内容
          
          $mail->Send();    //我过去是写到这的....我是想每次单独发信
          }
}
$mail->Send();    //现在写在这,所有邮件一起群发了

解决方案 »

  1.   

    汗.....[color=#FF0000]代码是没有的....  想设成红字csdn  给加上去的
      

  2.   

    哈哈哈哈,找到办法了~~// Clear all addresses and attachments for next loop
    $mail->ClearAddresses();
    $mail->ClearAttachments();也谢谢各位~~  一会就结贴了,当是散分吧~~
      

  3.   

    while($row_user=$db->getarray($result_user))
    {
         if($row_user[email]!='')
         {
         $mail->AddAddress("$row_user[email]", "$row_user[username]");
         }
        }
    $mail->Subject = "=?GB2312?B?".base64_encode("发布了新文章“$row_article[title]”")."?="; //邮件标题
    $mail->Body = $message; //邮件内容   
    $mail->Send();放在外面就不会发那么多次了啊