介绍
之前用163的默认邮箱发信,改用outlook的自定域名后缀发信但是居然后台出现错误,现现以下错误提示
既然发送失败,第一时间就是拉取日志查看异常原因了,异常原因“Caused by: javax.mail.AuthenticationFailedException: 535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant. Visit https://aka.ms/smtp_auth_disabled for more information. [HK2PR04CA0071.apcprd04.prod.outlook.com]”。
然后我在outlook的后台邮箱设置找是不是开启了相关功能
一般来说,发生AuthenticationFailedException异常,无外乎以下几个原因:
①账号密码错误
②发送协议配置错误
③第三方发送授权未开启
账号密码错误:利用数据库中的账号配置,成功登陆邮箱,并发送成功。
发送协议配置错误:数据库中的接收和发送协议,与outlook官网提供的完全一致。
第三方授权未开启:outlook邮箱只提供了开启POP3和IMAP的选择,而对于SMTP是默认开启的。
这里简要说一下,POP和IMAP是用来接收邮件的,如果需要第三方发送邮件,必须使用SMTP。
看到POP和IMAP都已经开启了,维独没有SMTP的设置项 那SMTP的设置在哪儿呢,,,
三个可能的原因都给我排除掉了,异常信息中出现了SmtpClientAuthentication,问题只能是出现在SMTP协议上了。
以上三个原因都被排除了,然后我这种不达目的,不罢休的态度,当然是去微软的OUTLOOK帮助文件去寻找答案,还真被我找到了
具体传送门:Enable or disable SMTP AUTH in Exchange Online | Microsoft Docs
以上截图是告诉真的有SMTP的设置项,为了安全,微软默认是关闭了这个 经过身份验证的SMTP
好了,把这个勾上,然后等个几分钟,再测试一下,然后就看到成功了,额, 不容易,碰到这,困惑了我几个小时,有时候就这么简单