laravel - 使用带有 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 的管理面板启用,所以我不知道问题出在哪里。
解决方案
我有同样的问题,我打电话给微软支持。他们指示我更改 Microsoft Azure 中的一些安全属性。这是我的答案。
推荐阅读
- python - Space Invaders:高分 KeyErrors
- haskell - 元组模式匹配 (v,w) = someFunction param_1 param_2 是如何工作的?
- google-apps-script - 返回信息到卡
- php - 在提交注册表单时向用户发送邮件
- flutter - Flutter中使用CircleAvatar时如何调整图片
- bash - 如何通过 terraform 停止/开始运行 ec2 实例
- java - 为什么 JVM 不能将 byteArray 转换为 String 并重新转换为 byteArray
- python - 在 Python 中从 for 转换为 while 循环
- java - CarouselView 中的卡片?
- amazon-web-services - Openshift 将图像复制到另一个图像存储库