Je kunt vanuit jouw ASP.NET– en ASP.NET Core-webapplicatie een e-mail versturen, bijvoorbeeld d.m.v een contactformulier. Dit kan alleen als je een met TLS-beveiligde SMTP-verbinding gebruikt, en in dit artikel laten we je zien hoe je dit doet.
Let op: SmtpClient is verouderd verklaard door Microsoft. Gebruik nu MailKit, zie het onderstaande MailKit voorbeeld voor een update.
Om vanuit ASP.NET een e-mail te versturen via onze mailservers moet je de SmtpClient.EnableSsl property instellen als true. Ook moet je een nieuwe instantie van de NetworkCredential class opgeven als SmtpClient.Credentials property in je .NET-webapplicatie.
Zie het volgende voorbeeld in C#:
System.Net.Mail en SmtpClient voorbeeld C# mailscript
In dit voorbeeld moet je jouw e-mailaccount inloggegevens opgeven in de client.Credentials regel. Vervang “info@domein.nl” door jouw e-mailaccount en geef het bijbehorende “wachtwoord” op.
Belangrijke, aangepaste, headers toevoegen
Als je het bovenstaande voorbeeld gebruikt, dan zul je waarschijnlijk merken dat System.Net.Mail een belangrijke header vergeet: het Message-ID. Je kunt deze Message-ID header, en anderen, eenvoudig toevoegen in bovenstaande C#-code.
Voeg de volgende regel toe boven de regel met
E-mail versturen met ASP.NET MailKit library voorbeeld C# mailscript
Zoals hierboven gemeld, het gebruik van de SmtpClient class wordt afgeraden. Deze class is verouderd verklaard door Microsoft, zij adviseren nu het gebruik van de open source library MailKit. Je kunt MailKit gebruiken voor het versturen van SMTP mail met ASP.NET en ASP.NET Core.
Hier een kort voorbeeldscript dat je kunt verwerken in een ASP.NET Core Web Application.
- in je Visual Studio webapplicatie-project moet je MailKit installeren via de Package Manager Console (NuGet):
Install-Package MailKit -Version 2.7.0
Merk op dat het versienummer een voorbeeld is. Zie https://www.nuget.org/packages/MailKit/ voor actuele versie informatie.
- Neem referenties op naar de verschillende MailKit objecten:
using System; using MailKit.Net.Smtp; using MailKit; using MimeKit;
- Gebruik de volgende C# code als voorbeeld, in hetzelfde .cs-bestand als waarin je de objectreferenties hebt opgenomen: