PHPMailer从MYSQL向{BCC}添加多封电子邮件

时间:2017-09-16 06:07:20

标签: php mysqli phpmailer

在下面的代码中,我们首先根据管理员从数据库输入来选择用户。然后向这些用户发送电子邮件。使用该代码,它会向$mail_news->addAddress('testuser@gmail.com');测试用户发送电子邮件。但是因为bcc部分不起作用,因为它不会向bcc电子邮件用户发送任何电子邮件。

 foreach($email_array  as $news_mail){
          $mail_news->AddBCC($news_mail.";");  
        }

这是我们通过表单和&amp ;;获取用户电子邮件的方式。 PHP使用mysqli准备语句。

以下是主要部分代码:

     if($msn->execute()){
 $msn->store_result();
 $msn->bind_result($news_mail);
 while($msn->fetch()){
 $email_array[] = $news_mail;
 }
      // echo "successful";
          }
        else
        {
            echo "database failed";
        }
        //--Email Sending Starts
            $mail_news = new PHPMailer;
            $mail_news->isSMTP();                             
            $mail_news->Host = EMAIL_HOST; 
            $mail_news->SMTPAuth = true;                          
            $mail_news->Port     = EMAIL_PORT;                  
            $mail_news->SMTPSecure = 'tls';                    
            $mail_news->Username = EMAIL_ADD;               
            $mail_news->Password = EMAIL_PASS;                      
            $mail_news->From = EMAIL_ADD;
            $mail_news->FromName = 'Company Account';
            $mail_news->addAddress('testuser@gmail.com');       
      foreach($email_array  as $news_mail){
          $mail_news->AddBCC($news_mail.";");  
        }
         $mail_news->WordWrap = 50; 
      //   $mail_news->SMTPDebug = 2;
           $mail_news->isHTML(true);                         
           $mail_news->Subject = "".$sub;
           $mail_news->Body    = "".$body;
           $mail_news->AltBody = "".$altbody;

       if(!$mail_news->send()) {
           echo "Failed Sending Emails" ;
         echo 'Mailer Error: ' . $mail_news->ErrorInfo;
     } else {
       echo "All Email sending completed" ;
   }     

       ?>
        </form>                     
 <?php
     $msn->close();     // Finally closing the database 
       }
 ?>

1 个答案:

答案 0 :(得分:2)

您需要更改线路     $mail_news->AddBCC($news_mail.";"); 同     $mail_news->AddBCC($news_mail); 因为方法addBCC()自己处理分号。您无需自己指定。