PHPMailer останавливается после 1-го или 2-го письма в моем цикле for - PullRequest
0 голосов
/ 03 июля 2018

Я использую 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;
    }
}
...