MailKit C#ImapClient.Connect()到Office 365生成异常;根据验证程序,“远程证书无效”;

MailKit C#ImapClient.Connect()到Office 365生成异常;根据验证程序,“远程证书无效”;,c#,office365,mailkit,C#,Office365,Mailkit,我使用Imap和MailKit连接到Office 365时遇到问题。根据验证过程,我得到的例外情况是远程证书无效 // For demo-purposes, accept all SSL certificates imapClient.ServerCertificateValidationCallback = (s,c,h,e) => true; // For demo-purposes, accept all SSL certificates imapClient.ServerCer

我使用Imap和MailKit连接到Office 365时遇到问题。根据验证过程,我得到的例外情况是
远程证书无效

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

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

// For demo-purposes, accept all SSL certificates
imapClient.ServerCertificateValidationCallback = (s,c,h,e) => true;
根据文档,我可以设置客户端接受所有证书,但我不想这样做

// For demo-purposes, accept all SSL certificates
imapClient.ServerCertificateValidationCallback = (s,c,h,e) => true;
Microsoft Office 365设置应正确:

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

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

还有其他人经历过并解决了这个问题吗?

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

// For demo-purposes, accept all SSL certificates
imapClient.ServerCertificateValidationCallback = (s,c,h,e) => true;
ServicePointManager.ServerCertificateValidationCallback = delegate (object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
    return true;
};
发送的证书如下所示:

// For demo-purposes, accept all SSL certificates
imapClient.ServerCertificateValidationCallback = (s,c,h,e) => true;
certificate.Issuer
"CN=avast! Web/Mail Shield Root, O=avast! Web/Mail Shield, OU=generated by avast! antivirus for SSL/TLS scanning"
停止Avast电子邮件保护后,一切又开始工作

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