forord
Vi vet at dagens .NET Core ikke støtter SMTP-protokollen, når jeg bruker e-postens sendingsfunksjon, må jeg bruke noen tredjepartskomponenter for å oppnå formålet, i dag vil jeg introdusere dere for to åpen kildekode-komponenter for e-postutsending, de er MailKit og FluentEmail, og jeg vil introdusere dem henholdsvis.
MailKit
I ASP.NET Core kan du bruke MailKit til å sende meldinger, det støtter plattformuavhengig, IMAP, POP3, SMTP og andre protokoller.
Du kan installere det ved å bruke følgende metoder:
Her er et enkelt eksempel på å sende en e-post:
Hvis innholdet du vil sende er HTML, kan du bruke følgende:
Fluent Email er også et åpen kildekode-prosjekt, du kan bruke Razor-maler for å sende e-poster, og du kan integrere med noen tredjeparts e-postsendere som Mailgun, men denne pakken støtter kun SMTP under .NET 4.6. Du kan installere den ved å bruke følgende kommando:
Du kan sende en e-post med de mest grunnleggende metodene, så enkelt som dette:
Alternativt kan du bruke en Razor-mal for å sende:
Email.DefaultRenderer forteller FulentEmail hvilken renderer de skal bruke (du kan også implementere din egen), legger deretter til en malmal med innholdet i malstrengen til Razor-syntaksen, og bruker deretter UsingTemplate for å rendre gjengivelsen.
CSHTML-mal på disk
Hvis Razor-malfilen er stor og ikke elegant å bruke strenger med, kan du legge malfilen på disk og laste den inn slik:
Send meldinger med Mailgun
Noen vet kanskje ikke så mye om Mailgun, Mailgun er et utenlandsk posttjenesteselskap, for eksempel er den kjente Github-e-posttjenesten hostet der, og den gratis Maingun-kontoen kan sende 10 000 e-poster i måneden, noe som er nok for mange små og mellomstore nettsteder.
Når du bruker Mailgun til å sende e-poster, må du først registrere en konto, og deretter kan du bruke Rest API-en som Mailgun tilbyr for å administrere e-postene du sender eller mottar. Mailgun med FluentEmail-integrasjon trenger bare å legge til pakker som dette:
Etter registrering av Mailgun vil du få tildelt en API-nøkkel og et domenenavn på andre nivå, og du må konfigurere det som følger:
sammendrag
Fra eksemplene ovenfor kan vi se at MailKit og FluentEmail har sine egne fordeler og ulemper. Fordelen med MailKit er at det støtter mange protokoller og er plattformuavhengig, men ulempen er at det ikke støtter Razor, og hvis du bruker Mailgun, må du integrere det selv. Fordelen med FlentEmail er at det støtter Razor-maler og kapsler inn Mailgun, men ulempen er at SMTP-protokollen ennå ikke støtter .NET Core.
Oppsummert, hvis du bruker Mailgun til å sende e-poster, er FluentEmail valget du bør velge, og hvis du vil bruke SMTP-protokollen for å koble til e-postserveren din for å sende e-poster, bør du bruke MailKit.
|