Я использую PHPMailer 5.2 (https://github.com/PHPMailer/PHPMailer/tree/5.2-stable) на моем локальном хосте (XAMPP 3.2.2), и у меня возникает следующая проблема:
Я хочу отправить 1 электронное письмо многим людям (сообщение немного отличается для каждого из них). Поэтому я создал for
, чтобы просмотреть все электронные письма этих людей в массиве, отправив по 1 электронному письму на каждый из этих адресов. URL-адрес, который я ввожу в своем браузере для запуска send-emails.php
, похож на http://localhost/mailer/send-emails.php
, но вскоре после отправки первого электронного письма веб-страница перестает загружаться и больше ничего не происходит (без ошибок журнала, без исключения, без журнала консоли , Нет, ничего...). Иногда, если мне повезет, localhost может отправить 2 электронных письма из массива, но тогда это останавливается.
Я не знаю, почему PHPMailer останавливается после отправки 1-го или 2-го сообщения электронной почты (в приведенном ниже примере кода оно будет отправлено только на aaaa@gmail.com и, возможно, на bbb @ gmail. ком).
Может кто-нибудь помочь?
Код:
<?php
ini_set('MAX_EXECUTION_TIME', 3600);
include('PHPMailerAutoload.php');
$mail = new PHPMailer();
$mail->isSMTP();
$mail->CharSet = 'UTF-8';
$mail->Host = 'smtp.office365.com';
$mail->Port = 587;
$mail->SMTPSecure = 'STARTTLS';
$mail->SMTPAuth = true;
$mail->Username = "xxxx@xxxx"; //my e-mail
$mail->Password = "xxx"; //my password
$mail->setFrom("xxxx@xxxx", "Xxxx");
//'To' addresses
$email = array("aaaa@gmail.com","bbb@gmail.com","cccc@gmail.com","dddd@gmail.com","eeee@gmail.com");
for ($i=0; $i < sizeof($email); $i++) {
try {
$mail->addAddress($email[$i]);
//Blind copy to myself
$mail->AddBCC("xxxx@xxxx", "Xxxx");
$mail->Subject = "...";
$mensagemHtml = "...";
$mensagemBody = "...";
$mail->msgHTML("<html>{$mensagemHtml}</html>");
$mail->AltBody = "{$mensagemBody}";
$mail->send();
$mail->clearAddresses();
} catch (Exception $e) {
echo 'Error: ' . $mail->ErrorInfo;
}
}