验证TLS电子邮件接收

时间:2014-08-19 20:34:19

标签: c# email ssl encryption

我正在尝试将当前的电子邮件代理转换为使用TLS发送电子邮件。我们使用C#,我只是使用了以下更改。

SmtpClient sclient = new SmtpClient();
sclient.EnableSsl = true;

以及验证服务器证书的回调方法。

On测试邮件已成功发送/接收,但我和接收端都无法100%确定电子邮件是否已加密接收。 (我试图使用Fiddler,但它没有捕获电子邮件)

基于此http://luxsci.com/blog/how-you-can-tell-if-an-email-was-sent-using-tls-encryption.html,标题如下

  

ESMTP id s7JKErN9002462   (version = TLSv1 / SSLv3 cipher = RC4-MD5 bits = 128 verify = NO);

我们可以安全地假设邮件通信确实是加密的吗?或者我是否应该更改任何其他代码,以便确保收到电子邮件或失败? (我认为这不能确定,因为它取决于smtp主机)?

2 个答案:

答案 0 :(得分:1)

您可以放心地假设,如果您能够连接并发送,那么您发送邮件的隧道是安全的。

SmtpClient代码是可靠的,你可以相信它。如果在你提出要求之后它无法安全连接,它会抛出异常,所以你会知道某些东西不像你期望的那样。

答案 1 :(得分:1)

最后,您始终可以使用WireShark等网络嗅探器软件检查TLS连接。

当然,如果您只是将连接打开到服务器的SSL端口,并且您收到了服务器证书,那么您可以确定邮件不会出现在蓝天中。