C#ASP.NET通过TLS发送电子邮件

时间:2010-01-13 14:18:51

标签: asp.net ssl c#-2.0

为了遵守HIPAA规定,我们需要从外部站点(防火墙外)向内部Exchange服务器(防火墙内)发送电子邮件。我们的Exchange管理员告诉我们,我们需要使用TLS加密将邮件从Web服务器发送到电子邮件服务器。

我之前从未使用过TLS,我对它不是很熟悉。在Google上搜索带来了许多付费使用的库。有什么原生的.NET可以实现这一目标吗?如果是,我该如何配置?如果没有,是否有免费或开源的东西?

当前配置:

  • ASP.NET C#Web应用程序
  • 2.0 Framework
  • 使用System.Net.Mail通过SMTP发送电子邮件和附件
  • IIS 6.0

3 个答案:

答案 0 :(得分:63)

TLS(传输级别安全性)是一个稍微宽泛的术语,它取代了SSL(安全套接字层)以保护HTTP通信。所以你被要求做的就是启用SSL。

答案 1 :(得分:27)

在SmtpClient上,您将设置一个EnableSsl属性。

即。

SmtpClient client = new SmtpClient(exchangeServer);
client.EnableSsl = true;
client.Send(msg);

答案 2 :(得分:19)

我几乎使用了与您相同的技术,但是我使用我的应用程序通过WinForms上的Office 365平台连接Exchange Server。我也遇到了和你一样的问题,但是能够通过使用对上面给出的内容略有修改的代码来完成。

SmtpClient client = new SmtpClient(exchangeServer, 587);
client.Credentials = new System.Net.NetworkCredential(username, password);
client.EnableSsl = true;
client.Send(msg);

我不得不使用端口587,这当然是TSL上的默认端口,并且进行了身份验证。