phpmailer 发送Outlook邮件时535 5.7.3 authentication unsuccessful错误的解决办法

在尝试使用我的office 365 E5开发者账号使用phpmailer进行发件时,被535 5.7.3 authentication unsuccessful这个错误困扰了很久,在国内外网站找了非常多的资料,可用的很少。这个错误很容易被理解为用户名密码错误,但是若十分确定用户名密码准确无误,极可能是微软默认开启的多重验证机制的原因!我们要做的就是把这个多重验证机制手动关掉。

亲测可用的方法:关闭安全默认值

用管理员身份登录Azure属性,点击最下面的"管理安全默认值",右边弹出"启用安全默认值",默认应为是,请改成否:!image-20200512201831848

问题解决.重试发件看看!

我没有尝试过的方法:保留多重验证,创建应用密码

这是来自Stack Overflow上一个热心老哥新提出来的方法.如果你需要在保留多重验证的同时允许其他应用如phpmailer访问smtp,可以尝试这种方法.

image-20200512200323647

我对照微软给出的文档进行操作,发现在

登录到 "其他安全验证" 页,然后选择 "应用密码"。

这一步就遇到了问题,我并没有看到这个"应用密码"的选项.如果读者老哥知道这种方法怎么处理,欢迎在评论区指出.

附:phpmailer 进行 outLook的smtp发件的参考代码

这部分的代码我亲测可用,请移步我的博客查看~

本文摘自我的博客

posted @ 2020-05-14 18:09  shadowfish0  阅读(6179)  评论(0编辑  收藏  举报