У меня есть этот код для отправки писем с использованием PHPMailer.Проблема в том, что письма повторяются с моим текущим кодом.Это происходит в этом формате.
Почта отправляется:
user@gmail.com (1st go)
user1@gmail.com, user@gmail.com (2nd go)
user2@gmail.com, user1@gmail.com, user@gmail.com (3rd go)
user3@gmail.com, user2@gmail.com, user1@gmail.com, user@gmail.com (4th go)
.... и т. Д.
Я думаю, это из-за логики цикла while.Каким может быть другой способ отправить массовое электронное письмо членам моей базы данных только один раз без повторения?
Вот мой код:
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Host = $mainf['set_smtp_host'];
$mail->Port = $mainf['set_smtp_port'];
$mail->SMTPSecure = $mainf['set_smtp_security'];
$mail->IsHTML(true);
$mail->SMTPAuth = true;
$mail->Username = $mainf['set_smtp_uname'];
$mail->Password = $mainf['set_smtp_pass'];
$mail->setFrom($mainf['set_noreply_email'], $mainf['set_site_name']);
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->Subject = $sub;
$mail->Body = $mail_msg;
$emails = $pdo->prepare("SELECT mem_name, mem_email FROM members WHERE mem_email_verified = 'yes' ORDER BY mem_id ASC LIMIT 5");
$emails-> execute();
while($u = $emails->fetch()){
$mail->addAddress($u['mem_email'], $u['mem_name']);
$send = $mail->Send();
}
if($send){
$msg = "<div class='alert alert-success'>Mail sent to all members successfully.</div>";
}else{
$msg = "<div class='alert alert-danger'>Mail Server Error! Please refresh the page and try again.</div>";
}
Кроме того, в почтовом ящике я вижу, ктодругие, кому было отправлено письмо.Могу ли я добавить опцию BCC для отправки массовых писем только один раз, не повторяя их ни для кого?