Как подключиться к Office 365 с помощью PHPMailer?

У меня проблема с PHPMailer, я хочу подключиться к серверу Office 365, который настроен с IP-адресом моего веб-сайта, есть соединитель, поэтому я могу подключиться к SMTP-серверу Office 365 для подключения без аутентификации, потому что мой IP-адрес занесен в белый список.

Проблема в том, что я не могу авторизоваться на сервере.

Вывод PHPMailer:

2016-11-23 09:06:50 CLIENT -> SERVER: EHLO www.thuis*******.nl 2016-11-23 09:06:50  SMTP Error: Could not authenticate. 2016-11-23 09:06:50 CLIENT -> SERVER: QUIT 2016-11-23 09:06:50  SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

PHP-файл:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = '';
$mail->SMTPAutoTLS = false;
$mail->Host = "thuis*******-nl.mail.protection.outlook.com";
$mail->Port = 25;
$mail->SetFrom('john@thuis*******.nl', 'John');
$mail->AddReplyTo("noreply@thuis*******.nl");
$mail->Subject = "This is the subject";
$mail->MsgHTML('Message body');
$address = "[email protected]";
$mail->AddAddress($address);
if(!$mail->Send()) {
   echo "Mailer Error: " . $mail->ErrorInfo;
 } else {
   echo "Message sent!";
}

person J. Doe    schedule 23.11.2016    source источник
comment
Вы создали свой код на устаревшем примере, поэтому убедитесь, что используете последнюю версию. Также было бы полезно, если бы вы прочитали документацию, на которую указывает сообщение об ошибке.   -  person Synchro    schedule 23.11.2016
comment
@Synchro Спасибо, я нашел решение, вы можете прочитать его ниже.   -  person J. Doe    schedule 23.11.2016


Ответы (1)


Установите SMTPAuth на false:

$mail->SMTPAuth = false;

Причина: на моем сервере не настроены учетные записи электронной почты.

IP-адрес сервера занесен в белый список для отправки почты с любого почтового адреса с @thuis*******.nl.

person J. Doe    schedule 23.11.2016