通过SSL TLS v1的SMTP连接给出超时错误

时间:2020-07-22 13:49:29

标签: c# email ssl smtp tls1.2

我必须连接到我们一个客户端的SMTP服务器,并且使用TLS v1通过SSL进行连接 为此,我使用以下代码创建了一个简单的控制台POC:

try
{
    MailMessage mail = new MailMessage();
    System.Net.Mail.SmtpClient SmtpServer = new System.Net.Mail.SmtpClient("smtpout.xyz.com");
    Console.WriteLine("sending mail...");
    mail.From = new System.Net.Mail.MailAddress("test@domain.com");
    mail.To.Add("test2@domain.com");
    mail.Subject = "TEST";
    mail.Body = "TEST DATA";
    SmtpServer.Port = 25;
    SmtpServer.Credentials = new System.Net.NetworkCredential("", "");
    SmtpServer.EnableSsl = True;
    SmtpServer.UseDefaultCredentials = False;
    SmtpServer.Send(mail);
    Console.WriteLine("mail sent successfully");
}
catch(Exception ex)
{
    throw ex;
}

但是这给出了一个非常普通的错误,该错误导致操作超时。当我尝试通过端口25使用非SSL SMTP服务器并且没有网络凭据时,邮件将立即触发。

请注意,不能通过网络负载平衡器直接访问客户端的SMTP服务器。我以为这个问题可能是由于计算机与SMTP服务器之间的不正确握手造成的,所以我也将SMTP服务器的证书放在了计算机的受信任的根证书存储中,但是仍然存在问题。

在TLS 1.1 / 1.2协议的情况下,我必须在配置中采取哪些额外步骤。我还尝试了使用STARTTLS命令的第三方库,但是还会出现错误,即“连接尝试失败,因为连接的一方在一段时间后未正确响应,或者建立的连接失败,因为连接的主机已失败回应”。

请提出帮助。

0 个答案:

没有答案
相关问题