Отправка SMTP электронной почты через PHPMailer начала внезапно завершаться сбоем - PullRequest
0 голосов
/ 10 января 2019

Я использовал PHPMailer для отправки электронной почты SMTP от имени моей office365 учетной записи, и она работала около недели. Затем он внезапно перестал работать, и я не знаю, что изменилось.

Когда я включаю ведение журнала высокой отладки в PHPMailer, я вижу это:

SMTP -> ОТ СЕРВЕРА: 220 CY4PR15CA0011.outlook.office365.com Microsoft Служба электронной почты ESMTP готова в четверг, 10 января 2019 г. 13:30:20 +0000 SMTP -> ОТ СЕРВЕРА: 250-CY4PR15CA0011.outlook.office365.com Здравствуйте! [198.154.243.158] 250-РАЗМЕР 157286400 250-ТРУБОПРОВОД 250-DSN 250-УЛУЧШЕННЫЕ СТАТУСКОДЫ 250-STARTTLS 250-8BITMIME 250-BINARYMIME 250-CHUNKING 250 SMTPUTF8 SMTP -> ОШИБКА: AUTH не принимается с сервер: 504 5.7.4 Нераспознанный тип аутентификации [CY4PR15CA0011.namprd15.prod.outlook.com] SMTP -> ОТ СЕРВЕРА: 250 2.0.0 Сброс

Эта часть кажется наиболее актуальной:

AUTH не принят с сервера: 504 5.7.4 Нераспознанная аутентификация тип

Вот мои буквальные настройки SMTP, передаваемые PHPMailer:

smtpAuth: true
smtpSecure: STARTTLS
smtpHost: smtp.office365.com
smtpPort: 587
smtpUsername: [hidden]
smtpPassword: [hidden]
emailTo: [hidden]

И фактический код PHP:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = $smtpAuth;
$mail->SMTPSecure = $smtpSecure;
$mail->Host = $smtpHost;
$mail->Port = $smtpPort;
$mail->Username = $smtpUsername;
$mail->Password = $smtpPassword;
$mail->SetFrom($smtpSenderDisplay);
$mail->IsHTML(true);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($emailTo);

Для проверки работоспособности я настроил учетную запись SMTP с такими же настройками в Windows Live Mail - и все работает. Нет ошибок Исходящая электронная почта попадает в папку «Входящие» другой учетной записи электронной почты, которую я имею.

Таким образом, Windows Live Mail делает что-то немного отличное от того, что делает мой PHP-скрипт, и помните, что мой PHP-скрипт работал нормально до нескольких дней назад.

Есть идеи, что мне нужно изменить?

1 Ответ

0 голосов
/ 11 января 2019

Microsoft изменила свои требования к шифрованию SMTP с STARTTLS на TLS. Это решило это.

...