In order to comply with HIPAA regulations, we need to send email from an external site (outside the firewall) to an internal Exchange server (inside the firewall). Our Exchange admins tell us we need to use TLS encryption to send mail from the web server to the email server.
I've never used TLS before and I'm not very familiar with it. Searching on Google as brought up numerous paid-for-use libr开发者_如何学Goaries. Is there anything native to .NET that will accomplish this? If so, how do I configure it? If not, is there something free or open source?
Current Configuration:
- ASP.NET C# Web Application
- 2.0 Framework
- Using System.Net.Mail to send email and attachments via SMTP
- IIS 6.0
TLS (Transport Level Security) is the slightly broader term that has replaced SSL (Secure Sockets Layer) in securing HTTP communications. So what you are being asked to do is enable SSL.
On SmtpClient there is an EnableSsl property that you would set.
i.e.
SmtpClient client = new SmtpClient(exchangeServer);
client.EnableSsl = true;
client.Send(msg);
I was almost using the same technology as you did, however I was using my app to connect an Exchange Server via Office 365 platform on WinForms. I too had the same issue as you did, but was able to accomplish by using code which has slight modification of what others have given above.
SmtpClient client = new SmtpClient(exchangeServer, 587);
client.Credentials = new System.Net.NetworkCredential(username, password);
client.EnableSsl = true;
client.Send(msg);
I had to use the Port 587, which is of course the default port over TSL and the did the authentication.
精彩评论