71 Stimmen

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

Zur Einhaltung der HIPAA Vorschriften, 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 sagen uns, 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 damit nicht sehr vertraut. Bei der Suche auf Google wurden zahlreiche kostenpflichtige Bibliotheken gefunden. Gibt es irgendetwas, das nativ in .NET enthalten ist und dieses Ziel erreicht? Wenn ja, wie kann ich es konfigurieren? Wenn nicht, gibt es etwas Kostenloses oder Open Source?

Aktuelle Konfiguration:

  • ASP.NET C# Web-Anwendung
  • 2.0 Rahmen
  • Verwendung von System.Net.Mail zum Senden von E-Mails und Anhängen über SMTP
  • IIS 6.0

7 Stimmen

SmtpClient.EnableSsl = true; ?

80voto

David M Punkte 69725

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

35voto

Martin Clarke Punkte 5520

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

d.h.

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

28voto

hiFI Punkte 1719

Ich habe fast die gleiche Technologie wie Sie verwendet, aber ich habe meine App verwendet, um einen Exchange Server über die Office 365-Plattform auf WinForms zu verbinden. Ich hatte auch das gleiche Problem wie Sie, aber konnte durch die Verwendung von Code, der leichte Änderung von dem, was andere oben gegeben haben, zu erreichen.

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 das hat die Authentifizierung übernommen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X