wake-up-neo.net

C # ASP.NET E-Mail über TLS senden

Um die HIPAA -Vorschriften einzuhalten, müssen wir E-Mails von einem externen Standort (außerhalb der Firewall) an einen internen Exchange-Server (innerhalb der Firewall) senden. Unsere Exchange-Administratoren teilen uns mit, dass wir TLS-Verschlüsselung verwenden müssen, um E-Mails vom Webserver an den E-Mail-Server zu senden.

Ich habe TLS noch nie benutzt und bin nicht sehr vertraut damit. Durch die Suche in Google wurden zahlreiche kostenpflichtige Bibliotheken aufgerufen. Gibt es irgendetwas Natives in .NET, das dies bewirkt? Wenn ja, wie konfiguriere ich es? Wenn nicht, gibt es etwas Freies oder Open Source?

Aktuelle Konfiguration:

  • ASP.NET C # -Webanwendung
  • 2.0 Framework
  • Verwenden von System.Net.Mail zum Senden von E-Mails und Anhängen über SMTP
  • IIS 6.0
60
Joshua

TLS (Transport Level Security) ist der etwas breitere Begriff, der SSL (Secure Sockets Layer) bei der Sicherung der HTTP-Kommunikation ersetzt hat. Sie werden also aufgefordert, SSL zu aktivieren.

66
David M

Auf SmtpClient gibt es eine EnableSsl-Eigenschaft, die Sie festlegen würden.

d.h.

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

Ich habe fast dieselbe Technologie wie Sie verwendet, aber ich habe meine App verwendet, um einen Exchange Server über die Office 365-Plattform unter WinForms zu verbinden. Auch ich hatte das gleiche Problem wie Sie, konnte es jedoch mithilfe von Code erreichen, der geringfügige Änderungen gegenüber den oben genannten aufweist.

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

Ich musste den Port 587 verwenden, der natürlich der Standardport über TSL ist und der die Authentifizierung durchgeführt hat.

21
hiFI