C# kann mit dem .NET Framework recht einfach E-Mails versenden, insbesondere über das SMTP-Protokoll. Das SMTP-Protokoll ist eine gängige Methode zum Senden von E-Mails.
Da für den Versand von SMTP-E-Mails ein SMTP-Server erforderlich ist, ist es wahrscheinlich am einfachsten, den Gmail-Server von Google zu verwenden. Dazu benötigen Sie ein Gmail-Konto, das einfach und kostenlos zu erstellen ist. Sobald Sie ein Gmail-Konto haben, ist das Senden von SMTP-E-Mails mit C# ein Kinderspiel. Der Trick besteht darin, den System.Net.Mail-Namensraum anstelle von System.Web.Mail zu verwenden. Der zweite Namespace wurde ab dem .NET Framework 2.0 durch System.Net ersetzt.
Aber wie stellt man eine Verbindung zu Googles Server her? Sie benötigen ein paar Informationen. Die erste ist, dass die SMTP-Serveradresse von Google Mail smtp.gmail.com lautet. Zweitens müssen Sie wissen, dass die C#-Anwendung eine Verbindung über Port 587 herstellen muss. Woher wissen wir das? Diese Information wird den Entwicklern von Google kostenlos zur Verfügung gestellt. Auch andere SMTP-Server stellen ihre eigene Adresse und ihren eigenen Port für die Verbindung zur Verfügung.
Allerdings gibt es noch einen weiteren Punkt: Die meisten SMTP-Server benötigen eine Authentifizierung, um Ihre E-Mails zu versenden. Hier kommt das Gmail-Konto ins Spiel. Geben Sie mit der NetworkCredential .NET-Klasse Ihren Benutzernamen und Ihr Passwort an. Damit wird Ihre Verbindung mit dem Server authentifiziert. Achten Sie nur darauf, dass Ihr Benutzername @gmail.com enthält.
Alles wird über die Klasse SmtpClient abgewickelt. Die Klasse kapselt einige ziemlich mächtige Funktionen, darunter das Hinzufügen von Anhängen und das Senden von HTML-E-Mails. HTML-E-Mails sind E-Mails, die mit HTML-Code geschrieben und wie Webseiten angezeigt werden. Obwohl es vom jeweiligen E-Mail-Client abhängt, können die meisten Clients HTML-E-Mails problemlos lesen, so dass Ihre C#-Anwendung E-Mails mit Bildern und formatiertem Text versenden kann. Die Klasse SmtpClient ermöglicht es Entwicklern auch, Header hinzuzufügen, mit denen das Verhalten von E-Mails feinabgestimmt werden kann. Beachten Sie jedoch, dass einige SMTP-Server, z. B. der von Google, bestimmte Kopfzeilen ignorieren und nur Informationen aus Ihrem Konto verwenden. Wenn Sie z. B. im Feld "Von" einen anderen Wert eingeben, wird dies von GMail ignoriert, das das Feld "Von" automatisch auf Ihre E-Mail-Adresse setzt.
Vergewissern Sie sich abschließend, dass SSL in der C#-Anwendung aktiviert ist. SSL ist ein Verschlüsselungsprotokoll, das unbedingt erforderlich ist, da der Google Mail-Server Ihre Verbindung sonst nicht akzeptiert.
