如何解决C#中使用POP3读取Microsoft 365邮件时的‘ERR Logon failure’错误?
Microsoft 365 POP3登录失败:ERR Logon failure: unknown user name or bad password 解决办法
输入正确密码但通过POP3读取Microsoft 365邮件时触发ERR Logon failure: unknown user name or bad password错误,其他邮箱可正常读取,已完成版本及TLS更新,可从以下几方面排查解决:
开启Microsoft 365账户的POP3协议
Microsoft 365默认可能禁用POP3访问,需登录Exchange管理中心或用户账户的邮件设置页面,确认POP3协议已开启,且账户未被限制POP3登录权限。使用应用密码(若开启MFA)
若账户启用了多重身份验证(MFA),直接使用原账户密码登录POP3会失败,需在Microsoft账户管理页面生成应用专用密码,替换代码中的PASSWORD进行登录。修正TLS协议配置
代码中重复设置ServicePointManager.SecurityProtocol导致配置覆盖,且Microsoft 365已弃用SSL3、TLS1.0和TLS1.1,建议仅保留TLS1.2和TLS1.3:List<MailMsg> mailMssgList = new List<MailMsg>(); ServicePointManager.Expect100Continue = true; // 适配Microsoft 365的TLS要求 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13; Pop3.Pop3Client pop3Cli = new Pop3.Pop3Client(); // 确认服务器地址、端口及SSL参数正确 pop3Cli.Connect("outlook.office365.com", USERNAME, APP_PASSWORD, 995, true);验证账户名格式
Microsoft 365的POP3登录账户名必须为完整邮箱地址(如user@contoso.com),不能仅使用用户名前缀,确保代码中USERNAME参数为完整邮箱。排查网络限制
确认客户端或服务器的防火墙、代理未拦截outlook.office365.com的995端口请求,部分环境会限制邮件服务端口的访问。
内容的提问来源于stack exchange,提问作者n01
相关产品推荐
相关产品推荐

