代码之家  ›  专栏  ›  技术社区  ›  ArK Sheeba Nancy

php mail发送多个副本

  •  1
  • ArK Sheeba Nancy  · 技术社区  · 15 年前

    我正在使用Drupal6,并尝试使用以下代码向所有用户发送电子邮件。问题是有时邮件会发送给用户 多次 但“已发送”文件夹为每个用户保存一个条目。特地 雅虎ID收到2封以上的邮件 (3到4)和发送显示发送到每个雅虎ID的2封电子邮件。有人知道吗……

    <?php
     require("/var/www/drupal/sites/all/modules/smtp/phpmailer/class.phpmailer.php");
     $con = mysql_connect("***","***","*****");
     $select_db=mysql_select_db("drupaldb", $con);
     $result = mysql_query("select uid,name,mail,data from users ");
     while($row = mysql_fetch_array($result))
     {
       mailit($row['name'],$row['mail']);
       flush();
       sleep(3);
     }
     print "<br>*******************************************<br>";
     function mailit($name,$rec)
     {
       $content="<div> Test mail </div>";
    
       $mail = new PHPMailer();
       $mail->IsSMTP(); 
       $mail->Host = "ssl://smtp.gmail.com"; 
       $mail->Port = 465; 
       $mail->SMTPAuth = true; 
       $mail->Username = "**********"; 
       $mail->Password = "*********";
       $mail->From = "*********";
       $mail->FromName = "****";
       $mail->AddAddress($rec,$name);
       $mail->Subject = "Test mail";
       $mail->IsHTML(true);
       $mail->Body = $content;
       $mail->AltBody ='Test Mail'; 
       if(!$mail->Send())
       {
         error_log("Mass Mail: ".$mail->ErrorInfo, 0);
         echo "Mailer Error: " . $mail->ErrorInfo."<br>";
       }
       else
       {
         echo "Message has been sent to <b>".$name."</b> through <i>".$rec."</i><br>";
       }
     }
    ?>
    
    1 回复  |  直到 13 年前
        1
  •  1
  •   Alix Axel    15 年前

    你的代码看起来不错。您确定不同的用户不共享某些电子邮件地址吗?这个 mail 列应规范化,并且 UNIQUE . 另外,是否多次执行脚本?

    推荐文章