forord
Vi ved, at den nuværende .NET Core ikke understøtter SMTP-protokollen; når jeg bruger e-mailens afsendelsesfunktion, skal jeg bruge nogle tredjepartskomponenter for at opnå formålet. I dag vil jeg introducere dig for to open source e-mail-udsendelseskomponenter, nemlig MailKit og FluentEmail, og jeg vil introducere dem henholdsvis.
MailKit
I ASP.NET Core kan du bruge MailKit til at sende beskeder, det understøtter cross-platform, IMAP, POP3, SMTP og andre protokoller.
Du kan installere det ved hjælp af følgende metoder:
Her er et simpelt eksempel på at sende en e-mail:
Hvis det indhold, du vil sende, er HTML, kan du bruge følgende:
Fluent Email er også et open source-projekt, du kan bruge Razor-skabeloner til at sende e-mails, og du kan integrere med nogle tredjeparts e-mailafsendere som Mailgun, men denne pakke understøtter kun SMTP under .NET 4.6. Du kan installere det med følgende kommando:
Du kan sende en e-mail ved hjælp af de mest grundlæggende metoder, så enkelt som dette:
Alternativt kan du bruge en Razor-skabelon til at sende:
Email.DefaultRenderer fortæller FulentEmail, hvilken renderer der skal bruges (du kan også implementere din egen), leverer derefter en skabelon med indholdet af skabelonstrengen i Razor-syntaksen, og bruger derefter UsingTemplate til at gengive renderingen.
CSHTML-skabelon på disk
Hvis Razor-skabelonfilen er stor og ikke elegant at bruge strenge med, kan du lægge skabelonfilen på disken og indlæse den som følger:
Send beskeder med Mailgun
Nogle ved måske ikke meget om Mailgun, Mailgun er et udenlandsk posttjenestefirma, som den berømte Github-e-mailtjeneste hoster der, og den gratis Maingun-konto kan sende 10.000 e-mails om måneden, hvilket er nok til mange små og mellemstore hjemmesider.
Når du bruger Mailgun til at sende e-mails, skal du først registrere en konto, og derefter kan du bruge Rest API'en fra Mailgun til at administrere de e-mails, du sender eller modtager. Mailgun med FluentEmail-integration behøver kun at tilføje pakker som denne:
Efter registrering af Mailgun vil du få tildelt en API-nøgle og et domænenavn på andet niveau, og du skal konfigurere det som følger:
resumé
Ud fra ovenstående eksempler kan vi se, at MailKit og FluentEmail har deres egne fordele og ulemper. Fordelen ved MailKit er, at det understøtter mange protokoller og er cross-platform, men ulempen er, at det ikke understøtter Razor, og hvis du bruger Mailgun, skal du selv integrere det. Fordelen ved FlentEmail er, at det understøtter Razor-skabeloner og indkapsler Mailgun, men ulempen er, at SMTP-protokollen endnu ikke understøtter .NET Core.
Sammenfattende, hvis du bruger Mailgun til at sende e-mails, er FluentEmail det valg, du bør vælge, og hvis du vil bruge SMTP-protokollen til at linke til din mailserver for at sende e-mails, bør du bruge MailKit.
|