Я могу отправлять электронные письма через мой внешний SMTP-сервер (livemail), но только на локальный хост. Попытка точно такого же кода на моем веб-сервере (Windows сервер, на котором работает IIS) дает мне:
Ошибка SMTP: не удалось аутентифицироваться.
Вот код:
$mail = new PHPMailer();
$mail->IsSMTP(); // enable SMTP
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->SMTPDebug = 3;
$mail->Host = gethostbyname('smtp.livemail.co.uk');
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
$mail->SMTPAuth = true;
$mail->Username = 'USERNAME';
$mail->Password = 'PASSWORD';
$mail->IsHTML(true);
$mail->SetFrom('EMAIL');
$mail->Subject = 'SUBJECT';
$mail->msgHTML('MESSAGE');
$mail->AddAddress("EMAIL");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
$msg_sent = true;
}
Что я проверил:
- Служба SMTP установлена и работает на моем сервере IIS
- Порты 25, 465, 587 разрешены в брандмауэре исходящие и входящие
Я пытался отправлять электронные письма на свой сервер IIS через учетную запись Gmail с включенным параметром Разрешить менее безопасные приложения, с успехом.
Итак насколько я могу судить, проблема не в:
- моей установке PHPMailer (как он работает с Gmail вживую)
- брандмауэр (я тестировал с использованием
tnc smtp.livemail.co.uk -port 465
на Power Shell есть ответ)
У меня заканчиваются идеи, и я был бы очень признателен за любую помощь по этому вопросу. Спасибо!
Полный журнал ошибок для TLS: 587:
2020-05-01 11:43:00 Connection: opening to smtp.livemail.co.uk:587, timeout=300, options=array()
2020-05-01 11:43:00 Connection: opened
2020-05-01 11:43:03 SERVER -> CLIENT: 220 smtp.livemail.co.uk ESMTP Postfix
2020-05-01 11:43:03 CLIENT -> SERVER: EHLO (domain)
2020-05-01 11:43:03 SERVER -> CLIENT: 250-smtp.livemail.co.uk250-PIPELINING250-SIZE 153600000250-VRFY250-ETRN250-STARTTLS250-ENHANCEDSTATUSCODES250-8BITMIME250 DSN
2020-05-01 11:43:03 CLIENT -> SERVER: STARTTLS
2020-05-01 11:43:03 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
2020-05-01 11:43:03 CLIENT -> SERVER: EHLO (domain)
2020-05-01 11:43:03 SERVER -> CLIENT: 250-smtp.livemail.co.uk250-PIPELINING250-SIZE 153600000250-VRFY250-ETRN250-ENHANCEDSTATUSCODES250-8BITMIME250 DSN
SMTP Error: Could not authenticate.
2020-05-01 11:43:03 CLIENT -> SERVER: QUIT
2020-05-01 11:43:03 SERVER -> CLIENT: 221 2.0.0 Bye
2020-05-01 11:43:03 Connection: closed