You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:17:27