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

Android Xamarin C#实现TLS 1.2接收Office365 Outlook POP邮件问题

解决Office365 POP3认证失败(需启用TLS 1.2)的问题

微软停用无TLS 1.2的SMTP/POP3认证后,你的代码需要明确强制使用TLS 1.2协议才能通过认证,以下是具体修改方案:

1. 强制.NET环境使用TLS 1.2

在应用初始化或当前方法开头添加代码,确保底层网络请求使用TLS 1.2:

// 适用于.NET Framework 4.5+;.NET Core/.NET 5+默认支持,但显式设置更稳妥
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

如果是.NET Framework 4.0(无Tls12枚举),用数值替代:

System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)3072;

2. 配置Pop3Client指定TLS 1.2连接

修改Pop3Client的协议配置,确保连接时仅使用TLS 1.2:

public void CheckForEmailsFromSupportPOP2(object sender, EventArgs e) 
{
    int numCountEmailsDownloaded = 0;
    string strAllIncidentNumbers = "";

    try
    {
        // 先强制启用TLS 1.2
        System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

        string pathLog = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData);
        string fileNameLog = Path.Combine(pathLog, "pop3.txt");

        using (var client = new Pop3Client(new ProtocolLogger(fileNameLog)))
        {
            // 显式限定仅使用TLS 1.2协议
            client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
            
            // Office365 POP3 995端口保持SSL连接,协议已强制为TLS1.2
            client.Connect("outlook.office365.com", 995, SecureSocketOptions.SslOnConnect);

            client.Authenticate("mobile1@zxcv.co.uk", "password");

            for (int i = 0; i < client.Count; i++)
            {
                var message = client.GetMessage(i);
                // 后续业务代码...
            }
        }
    }
    catch (Exception ex)
    {
        // 异常处理逻辑
    }
}

关键说明

  • 你的Pop3Client应为MailKit库的实现(.NET主流邮件客户端库),SslProtocols属性用于限定连接协议版本,直接指定Tls12即可匹配微软的认证要求。
  • 若仍报错,可检查是否启用了双重认证(MFA),若启用需改用应用密码进行认证。

内容的提问来源于stack exchange,提问作者Jonathan T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:50:27