【问题标题】:MailKit C# ImapClient.Connect() to Office 365 generating exception: "The remote certificate is invalid according to the validation procedure"MailKit C# ImapClient.Connect() 到 Office 365 生成异常:“根据验证过程,远程证书无效”
【发布时间】:2017-06-11 18:40:36
【问题描述】:

我在使用 Imap 和 MailKit 连接到 Office 365 时遇到问题。我得到的例外是The remote certificate is invalid according to the validation procedure

https://github.com/jstedfast/MailKit

代码:

imapClient = new ImapClient();

imapClient.Connect("outlook.office365.com", 993, true);

根据文档,我可以将客户端设置为接受所有证书,但我不想这样做。

// For demo-purposes, accept all SSL certificates
imapClient.ServerCertificateValidationCallback = (s,c,h,e) => true;

Microsoft Office 365 设置应该正确:

https://support.office.com/en-us/article/POP-and-IMAP-settings-for-Outlook-Office-365-for-business-7fc677eb-2491-4cbc-8153-8e7113525f6c

有没有其他人经历过这个并解决了它?

【问题讨论】:

    标签: c# office365 mailkit


    【解决方案1】:

    我最终运行了以下代码并在方法中放置了一个断点。

    ServicePointManager.ServerCertificateValidationCallback = delegate (object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
    {
        return true;
    };
    

    发送的证书如下:

    certificate.Issuer
    "CN=avast! Web/Mail Shield Root, O=avast! Web/Mail Shield, OU=generated by avast! antivirus for SSL/TLS scanning"
    

    在停止 Avast Email Protection 后,一切又开始工作了。

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 2021-02-24
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 2016-11-28
      • 2021-09-16
      相关资源
      最近更新 更多