在下面的代码中,我们首先根据管理员从数据库输入来选择用户。然后向这些用户发送电子邮件。使用该代码,它会向$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
}
?>
答案 0 :(得分:2)
您需要更改线路
$mail_news->AddBCC($news_mail.";");
同
$mail_news->AddBCC($news_mail);
因为方法addBCC()
自己处理分号。您无需自己指定。