2017-08-29 192 views
0

我正在使用以下代码并在尝试连接到SMTP服务器时出现错误。我没有给任何认证凭证来访问。尝试连接到SMTP服务器时出现错误“199.201.221.19”

var client = new SmtpClient() 
await client.ConnectAsync("199.201.221.19", 587, false); 
client.Send(mail); 

主机:199.201.221.19 端口:587 错误:System.Security.Authentication.AuthenticationException:远程证书根据验证过程是无效的。 实际问题是什么,这有什么可能的解决方案?

回答

0

该错误是指SSL/TLS证书验证错误。这意味着您的服务器的SSL证书不会使用.NET的标准根CA证书进行验证。

即使您在ConnectAsync()方法调用中指定useSslfalse,但如果服务器支持STARTTLS,MailKit仍将切换到TLS模式。 useSsl参数实际上仅用于告知MailKit端口是否从一开始就需要SSL(如在IMAP/S中为993,POP/S为995和SMTP/S中为465等ssl包装端口)。

您有解决这个问题的2种选择:

  1. 按照指示此错误的常见问题解答:https://github.com/jstedfast/MailKit/blob/master/FAQ.md#InvalidSslCertificate
  2. 使用不同的ConnectAsync方法,使您可以指定不尝试STARTTLS:客户端。 ConnectAsync(主机,端口,SecureSocketOptions.None);
相关问题