首页 > 解决方案 > 使用带有 Laravel 的 Outlook / Office365 发送电子邮件 - 无法在 SMTP 服务器上进行身份验证

问题描述

我正在尝试使用 Office365/Outlook 使用我们的 Laravel 应用程序发送电子邮件。它在 gmail 上运行良好,但是当我切换到 Office365 时,出现以下错误:

无法使用 2 个可能的身份验证器在用户名“xxxxxx@companyname.co”的 SMTP 服务器上进行身份验证。Authenticator LOGIN 返回了预期的响应代码 235,但得到了代码“535”,消息为“535 5.7.3 Authentication unsuccessful [HKAPR03CA0035.apcprd03.prod.outlook.com]”。Authenticator XOAUTH2 返回了预期的响应代码 235,但得到了代码“535”,消息为“535 5.7.3 Authentication unsuccessful [HKAPR03CA0035.apcprd03.prod.outlook.com]”。

这就是我的 .env 文件中的内容:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com
MAIL_PORT=587
MAIL_USERNAME=xxxxxx@companyname.co
MAIL_PASSWORD=emailPassword
MAIL_ENCRYPTION=tls
MAIL_SMTPAuth=true
MAIL_FROM_NAME=CompanyName
MAIL_FROM_ADDRESS=xxxxxx@companyname.co

*注意:这不是真实的用户名、密码和发件人地址。

我也尝试将端口更改为 25,但我得到了同样的错误

我正在使用我公司的专用支持电子邮件。根据我与 IT 部门的确认,支持电子邮件没有 2 因素身份验证,并且“Authenticated SMTP”设置也通过 Office365 的管理面板启用,所以我不知道问题出在哪里。

标签: laravelemailoutlookoffice365tls1.2

解决方案


我有同样的问题,我打电话给微软支持。他们指示我更改 Microsoft Azure 中的一些安全属性。这是我的答案


推荐阅读