Я использовал 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-скрипт работал нормально до нескольких дней назад.
Есть идеи, что мне нужно изменить?