2017-09-16 100 views
0

在下面的代碼中,我們首先根據管理員的數據庫輸入選擇用戶。然後發送電子郵件給這些用戶。隨着代碼發送電子郵件給$mail_news->addAddress('[email protected]');測試用戶。但是,對於密件抄送部分不起作用,因爲它不會向密件抄送電子郵件用戶發送任何電子郵件。PHPMailer通過MYSQL向BCC添加多個電子郵件

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

這就是我們如何通過獲取形式& 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('[email protected]');  
     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

嘗試更換您的行'$ mail_news-> AddBCC($ news_mail。 「;」);'和'$ mail_news-> addBCC($ news_mail);' – Sahil

+0

好讓我來試試你的建議 – mimi

+0

這工作!謝謝。我想 」;」正在幫助我。 – mimi

回答

1

您需要更改線路 $mail_news->AddBCC($news_mail.";");$mail_news->AddBCC($news_mail); 因爲該方法addBCC()自己處理分號。你不需要自己指定。