【发布时间】:2016-02-28 06:26:52
【问题描述】:
我正在使用MailKit 尝试通过交换服务器通过 SMTP 发送电子邮件,但是当我尝试连接时出现以下错误:
类型异常 'System.Security.Authentication.AuthenticationException' 发生在 MailKit.dll 但未在用户代码中处理
附加信息:根据远程证书无效 验证程序。
通过 Google 搜索这会带来很多关于 Gmail 的内容或作为其他错误消息的一部分(如 FTP 或 Web api 请求等)。我已经和 IT 人员谈过了,它不是自签名证书,我们不需要身份验证(事实上,我管理的 BugZilla 实例设置了相同的设置并且工作正常)。我做错了什么或如何获取更多详细信息以进一步排除故障?
using (var Client = new SmtpClient())
{
Client.Connect("mail.address.com", 587, false);
Client.AuthenticationMechanisms.Remove("XOAUTH2");
Client.Send(Message);
Client.Disconnect(true);
}
编辑:我已与 IT 部门核实,它与托管 mail.address.com domain 以及交换的 IIS 中使用的证书相同。我也将它安装为受信任的根,但仍然出现相同的错误。
编辑 2:如果我将代码更新为 Client.Connect("mail.address.com", 587, true);,则会收到错误消息:
“System.IO.IOException”类型的异常发生在 >System.Private.Networking.dll 中,但未在用户代码中处理
附加信息:由于意外的数据包格式,握手失败。
【问题讨论】: