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

为了符合HIPAA规定,我们需要将外部站点(防火墙外)的电子邮件发送到内部Exchange服务器(防火墙内)。 我们的Exchangepipe理员告诉我们,我们需要使用TLSencryption将邮件从Web服务器发送到电子邮件服务器。

我以前从来没有使用过TLS,对此我也不是很熟悉。 在谷歌上search提出了许多付费使用的图书馆。 有没有什么原生的.NET将完成这个? 如果是的话,我该如何configuration? 如果没有,是否有免费或开源的东西?

当前configuration:

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

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

在SmtpClient上有一个你可以设置的EnableSsl属性。

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

我几乎使用相同的技术,但是我使用我的应用程序通过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的默认端口,并进行了身份validation。