c# - 验证 TLS 电子邮件接收

标签 c# email ssl encryption

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

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

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

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

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

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

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

最佳答案

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

当然,如果您只打开与服务器 SSL 端口的连接,并且您收到了服务器证书,那么您可以非常确定邮件不是凭空出现的。

关于c# - 验证 TLS 电子邮件接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25392491/

相关文章:

php - 通过 Gmail 或什至 Google App Engine 发送大量电子邮件?

c# - 401 Unauthorized 在 GET 请求 (https) 上返回正确的凭据

ios - 调用 iOS webview HTTPS(自签名证书)

c# - 如何在 Java 中获取 Group.Captures(来自 C# 中的 RegEx)的行为?

c# - 获取/设置除 Id 和 Text 以外的 Kendo Treeview 节点的属性

c# - 发送嵌入图像的电子邮件 - 图像不可见

ssl - Cloudflare SSL 在 Github 页面上不起作用

c# - LINQ to SQL 通配符

c# - 注册免费 COM - 隔离 COM 引用 - 缺少值 '(Default)'

azure - 从当前用户的 Azure/Azure Function/Outlook 发送邮件