C# kan vrij eenvoudig e-mails verzenden met het .NET Framework, vooral via het SMTP-protocol. Het SMTP-protocol is een veelgebruikte manier om e-mails te versturen.
Omdat SMTP e-mails een SMTP server nodig hebben om te versturen, is het waarschijnlijk het makkelijkst om de Gmail server van Google te gebruiken. Je hebt dus een Gmail account nodig, die eenvoudig en gratis aan te maken is. Als je eenmaal een Gmail account hebt, is het versturen van SMTP e-mails met C# een fluitje van een cent. De truc is om de System.Net.Mail namespace te gebruiken in plaats van System.Web.Mail. De tweede namespace werd vervangen door System.Net vanaf .NET Framework 2.0.
Maar wat moet je doen om verbinding te maken met de server van Google? Je hebt een paar stukjes informatie nodig. Het eerste is dat het SMTP-serveradres van Gmail smtp.gmail.com is. Het tweede wat je moet weten is dat de C# applicatie moet verbinden via poort 587. Hoe weten we dit? De informatie wordt gratis verstrekt aan ontwikkelaars door Google. Andere SMTP-servers geven ook hun eigen adres en poort om verbinding mee te maken.
Er is echter nog één ding, de meeste SMTP-servers hebben authenticatie nodig om je e-mails te versturen. Dit is waar het Gmail-account om de hoek komt kijken. Gebruik de NetworkCredential .NET klasse om je gebruikersnaam en wachtwoord op te geven. Dit zal je verbinding met de server authenticeren. Zorg ervoor dat je gebruikersnaam @gmail.com bevat.
Alles wordt afgehandeld via de klasse SmtpClient. De klasse kapselt enkele behoorlijk krachtige functies in, waaronder het toevoegen van bijlagen en het verzenden van HTML e-mails. HTML-e-mails zijn e-mails die zijn geschreven met HTML-code en worden weergegeven als webpagina's. Hoewel het afhangt van de e-mailclient, kunnen de meeste clients HTML-e-mails zonder problemen lezen. Hoewel het afhangt van de e-mail client, kunnen de meeste clients zonder problemen HTML e-mails lezen, waardoor je C# applicatie e-mails kan versturen met afbeeldingen en opgemaakte tekst. Met de klasse SmtpClient kunnen ontwikkelaars ook headers toevoegen, waarmee het gedrag van e-mails kan worden verfijnd. Wees je er echter van bewust dat sommige SMTP-servers, zoals die van Google, bepaalde headers zullen negeren en alleen informatie van je account zullen gebruiken. Als je bijvoorbeeld het veld Van op iets anders instelt, wordt dit genegeerd door GMail, dat het veld Van automatisch op jouw e-mailadres instelt.
Zorg er als laatste voor dat SSL is ingeschakeld op de C# applicatie. SSL is een encryptieprotocol en is absoluut vereist, anders zal de server van Gmail uw verbinding niet accepteren.
