繁体   English   中英

无法通过 PHPmailer 连接到 Office365 SMTP

[英]Cant connect to Office365 SMTP via PHPmailer

我无法通过 smtp 连接到 office365。 我在这里阅读了所有提示,但没有任何帮助。

调试:

2018-05-16 08:12:52   Connection: opening to smtp.office365.com:587, timeout=300, options=array ( ) 
2018-05-16 08:12:52   Connection: opened 
2018-05-16 08:12:52   SERVER -> CLIENT: 220 CWLP265CA0229.outlook.office365.com Microsoft ESMTP MAIL Service ready at Wed, 16 May 2018 08:12:52 +0000 
2018-05-16 08:12:52   CLIENT -> SERVER: EHLO localhost 
2018-05-16 08:12:52   SERVER -> CLIENT: 250-CWLP265CA0229.outlook.office365.com Hello [109.81.243.32] 250-SIZE 157286400 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-STARTTLS 250-8BITMIME 250-BINARYMIME 250-CHUNKING 250 SMTPUTF8 
2018-05-16 08:12:52   CLIENT -> SERVER: STARTTLS 
2018-05-16 08:12:52   SERVER -> CLIENT: 220 2.0.0 SMTP server ready 
2018-05-16 08:12:52   CLIENT -> SERVER: EHLO localhost 
2018-05-16 08:12:52   SERVER -> CLIENT: 250-CWLP265CA0229.outlook.office365.com Hello [109.81.243.32] 250-SIZE 157286400 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-AUTH LOGIN XOAUTH2 250-8BITMIME 250-BINARYMIME 250-CHUNKING 250 SMTPUTF8 
2018-05-16 08:12:52   CLIENT -> SERVER: AUTH LOGIN 
2018-05-16 08:12:52   SERVER -> CLIENT: 334 VXNlcm5hbWU6 
2018-05-16 08:12:52   CLIENT -> SERVER: xxx== 
2018-05-16 08:12:52   SERVER -> CLIENT: 334 UGFzc3dvcmQ6 
2018-05-16 08:12:52   CLIENT -> SERVER: xxx= 
2018-05-16 08:12:58   SERVER -> CLIENT: 535 5.7.3 Authentication unsuccessful [CWLP265CA0229.GBRP265.PROD.OUTLOOK.COM] 
2018-05-16 08:12:58   SMTP ERROR: Password command failed: 535 5.7.3 Authentication unsuccessful [CWLP265CA0229.GBRP265.PROD.OUTLOOK.COM] 
2018-05-16 08:12:58   SMTP Error: Could not authenticate. 
2018-05-16 08:12:58   CLIENT -> SERVER: QUIT 
2018-05-16 08:12:58   SERVER -> CLIENT: 221 2.0.0 Service closing transmission channel 
2018-05-16 08:12:58   Connection: closed 
2018-05-16 08:12:58   SMTP connect() failed. 

代码:

$mail = new PHPMailer;
$mail->SMTPDebug = 3; 
$mail->isSMTP();
$mail->Host = 'smtp.office365.com'; 
$mail->SMTPAuth = true; 
$mail->Username = 'MAIL@DOMAIN.TLD'; 
$mail->Password = 'PASS';
$mail->SMTPSecure = 'tls';
$mail->Port = 587; // TCP port to connect to
$mail->setFrom('MAIL@DOMAIN.TLD');
$mail->addAddress('TOMAIL'); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

您必须在 o365 管理面板中启用它,然后等待 3 分钟完成

还要检查$mail->SMTPAuth = true;

在此处输入图片说明

使用 Microsoft 365 管理中心在特定邮箱上启用或禁用 SMTP AUTH

 Open the Microsoft 365 admin center and go to Users > Active users. Select the user, and in the flyout that appears, click Mail. In the Email apps section, click Manage email apps. Verify the Authenticated SMTP setting: unchecked = disabled, checked = enabled. When you're finished, click Save changes.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM