Я создал код, в котором письма отправляются разным людям с разными телами, но только в случае выполнения некоторых условий. Мой код выглядит следующим образом:Дублирующиеся письма, отправленные от PhpMailer
set_time_limit(300);
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "*********";
$mail->SetFrom('*********');
$mail->Subject = "System Change";
$add = array("a", "b");
foreach ($add as $address) {
$mail->clearAttachments();
$mail->clearAllRecipients();
if ($Credit == 'N' && $CMU == 'N') {
if ($Ops_Approval == 'Approved' && $Risk_Approval == 'Approved' && $Finance_Approval == 'Approved') {
if ($SeniorManagement == 'Y') {
if ($address == "a") {
$mail->AddAddress('********');
$mail->MsgHTML("Mail1");
$mail->send();
if ($mail->Send()) {
echo "Mail 1";
} else echo "ERROR IN SENDING MAILS";
exit;
}
if ($address == "b") {
$mail->AddAddress('****');
$mail->MsgHTML("Mail2");
$mail->send();
if ($mail->Send()) {
echo "Mail 2";
} else echo "ERROR IN SENDING MAILS";
exit;
}
}
}
}
}
Что работает - Mails посылаются. Что не работает - Обе письма имеют одинаковое тело i.e Mail1. Я пробовал создавать разные циклы, но получаю тот же результат. Цените любые предложения :)
удалить exit; и попробуйте –
Вы используете старую версию PHPMailer. [Получить последнюю версию] (https://github.com/PHPMailer/PHPMailer). – Synchro
Если я удаляю выход, он выдает ошибку. :( – SR1092