Подтвердить что ты не робот

С# ASP.NET Отправить E-mail через TLS

Чтобы соответствовать требованиям HIPAA, нам нужно отправить электронное письмо с внешнего сайта (вне брандмауэра) на внутренний сервер Exchange ( внутри брандмауэра). Наши администраторы Exchange говорят нам, что нам нужно использовать шифрование TLS для отправки почты с веб-сервера на сервер электронной почты.

Я никогда раньше не использовал TLS, и я не очень хорошо знаком с ним. Поиск в Google, как и множество многочисленных плат за использование. Есть ли что-то родное для .NET, которое это выполнит? Если да, то как его настроить? Если нет, есть ли что-то свободное или с открытым исходным кодом?

Текущая конфигурация:

  • Веб-приложение ASP.NET С#
  • 2.0 Framework
  • Использование System.Net.Mail для отправки электронной почты и вложений через SMTP
  • IIS 6.0
4b9b3361

Ответ 1

TLS (Transport Level Security) - это чуть более широкий термин, заменивший SSL (Secure Sockets Layer) для защиты HTTP-сообщений. Итак, что вам предлагается сделать, это включить SSL.

Ответ 2

В SmtpClient есть свойство EnableSsl, которое вы установили.

то есть.

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

Ответ 3

Я почти использовал ту же технологию, что и вы, однако я использовал свое приложение для подключения Exchange Server через платформу Office 365 на WinForms. У меня тоже была такая же проблема, как и у вас, но была достигнута с помощью кода, который имеет небольшую модификацию того, что другие дали выше.

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

Мне пришлось использовать порт 587, который, конечно же, является портом по умолчанию для TSL, а также аутентификация.