环境:客户使用的microsoft组织账号登录邮箱(outlook),smtp服务器为smtp.office365.com,注意:域账号和邮箱地址并不相同:比方说域账号a登录进去后,显示的邮箱地址为b。
代码:使用常规的Net.SmtpClient来发起邮件发送,代码如下:
运行报错:
SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为:5.7.57 Client not authenticated to send mail. Error: 535 5.7.139 Authentication unsuccessful, account locked. Contact your administrator. [SI2PR01CA0018.apcprd01.prod.exchangelabs.com]
Microsoft 365 有没有启用 Authenticated SMTP
,参考 Enable SMTP AUTH for specific mailboxes
上面是我代码,客户已经开通 Authenticated SMTP!
还是报错:SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为:5.7.57 Client not authenticated to send mail. Error: 535 5.7.139 Authentication unsuccessful, account locked. Contact your administrator. [SGBP274CA0019.SGPP274.PROD.OUTLOOK.COM]
@语梦·添香: account locked
是个重要信息,建议换个账号试试
@dudu: 这是客户的账号,可不是我自己的账号,每次都要找他们的人去问管理员才能去设置,沟通很麻烦的。。。
@语梦·添香: 建议自己注册一个账号测试确认一下是账号问题还是代码问题
@dudu: 我自己试过的,我拿163邮箱注册了microsoft,使用smtp.office365.com服务器发送邮件都行。
------分界线------------
上午客户回复我,已经关闭了“多重验证”和“安全默认值”并开启了“Authenticated SMTP”。紧接着我运行程序,提示:535: 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully.-------------我已经没辙啦,还有什么法子吗,有么有其他方式发送
@语梦·添香: 参考 535 5.7.139 Authentication unsuccessful
终极解决:关闭MFA(多重身份验证)、关闭Azure上的安全默认值、启用Authenticated SMTP
– 语梦·添香 2年前