inleiding
We weten dat de huidige .NET Core het SMTP-protocol niet ondersteunt; wanneer ik de verzendfunctie van de e-mail gebruik, moet ik enkele componenten van derden gebruiken om dit doel te bereiken; vandaag zal ik je introduceren aan twee open source e-mailverzendcomponenten, dat zijn MailKit en FluentEmail, die ik respectievelijk zal introduceren.
MailKit
In ASP.NET Core kun je MailKit gebruiken om berichten te verzenden, het ondersteunt cross-platform, IMAP, POP3, SMTP en andere protocollen.
Je kunt het installeren met de volgende methoden:
Hier is een eenvoudig voorbeeld van het versturen van een e-mail:
Als de inhoud die je wilt versturen HTML is, kun je het volgende gebruiken:
Fluent Email is ook een open source project, je kunt Razor-sjablonen gebruiken om e-mails te versturen, en je kunt integreren met sommige afzenders van derden zoals Mailgun, maar dit pakket ondersteunt SMTP alleen onder .NET 4.6. Je kunt het installeren met het volgende commando:
Je kunt een e-mail sturen met de meest basale methoden, zo simpel als dit:
Als alternatief kun je een Razor-sjabloon gebruiken om het volgende te versturen:
Email.DefaultRenderer vertelt FulentEmail welke renderer te gebruiken (je kunt ook je eigen renderer implementeren), levert vervolgens een sjabloonsjabloon met de inhoud van de sjabloonstring van de Razor-syntaxis, en gebruikt vervolgens UsingTemplate om de rendering te renderen.
CSHTML-sjabloon op schijf
Als het Razor-sjabloonbestand groot is en niet elegant om te gebruiken met strings, kun je het sjabloonbestand op de schijf zetten en het als volgt laden:
Berichten verzenden met Mailgun
Sommige mensen weten misschien niet veel over Mailgun; Mailgun is een buitenlands postdienstbedrijf, zoals de beroemde Github-e-maildienst die daarop wordt gehost, en het gratis Maingun-account kan 10.000 e-mails per maand versturen, wat genoeg is voor veel kleine en middelgrote websites.
Wanneer je Mailgun gebruikt om e-mails te versturen, moet je eerst een account registreren en daarna de Rest API van Mailgun gebruiken om de e-mails die je verstuurt of ontvangt te beheren. Mailgun met FluentEmail-integratie hoeft alleen pakketten zoals deze toe te voegen:
Na het registreren van Mailgun krijg je een API-sleutel en een domeinnaam op tweede niveau, en je moet deze als volgt configureren:
samenvatting
Uit bovenstaande voorbeelden blijkt dat MailKit en FluentEmail hun eigen voor- en nadelen hebben. Het voordeel van MailKit is dat het veel protocollen ondersteunt en cross-platform is, maar het nadeel is dat het geen ondersteuning biedt voor Razor, en als je Mailgun gebruikt, moet je het zelf integreren. Het voordeel van FlentEmail is dat het ondersteuning biedt voor Razor-sjablonen en Mailgun encapsuleert, maar het nadeel is dat het SMTP-protocol nog geen ondersteuning biedt voor .NET Core.
Samengevat: als je Mailgun gebruikt om e-mails te versturen, dan is FluentEmail de keuze die je moet kiezen, en als je het SMTP-protocol wilt gebruiken om naar je mailserver te linken om e-mails te versturen, dan kun je MailKit gebruiken.
|