predgovor
Vemo, da trenutni .NET Core ne podpira protokola SMTP, ko uporabljam funkcijo pošiljanja e-pošte, moram uporabiti nekatere komponente tretjih oseb, da dosežem ta namen; danes vam bom predstavil dve odprtokodni komponenti za pošiljanje e-pošte, MailKit in FluentEmail, ki ju bom predstavil.
MailKit
V ASP.NET Core lahko uporabite MailKit za pošiljanje sporočil, podpira večplatformske protokole, IMAP, POP3, SMTP in druge.
Namestite ga lahko na naslednje načine:
Tukaj je preprost primer pošiljanja e-pošte:
Če je vsebina, ki jo želite poslati, HTML, lahko uporabite naslednje:
Fluent Email je prav tako odprtokodni projekt, za pošiljanje e-pošte lahko uporabite Razor predloge in se integrirate z nekaterimi tretjimi pošiljatelji, kot je Mailgun, vendar ta paket podpira SMTP le pod .NET 4.6. Namestite ga lahko z naslednjim ukazom:
E-pošto lahko pošljete z najosnovnejšimi metodami, tako preprostimi:
Alternativno lahko uporabite Razor predlogo za pošiljanje:
Email.DefaultRenderer pove FulentEmailu, kateri renderer naj uporabi (lahko tudi sam implementiraš svojega), nato ponudi predlogo predloge z vsebino predloge Razor sintakse in nato uporabi UsingTemplate za upodabljanje upodobitve.
CSHTML predloga na disku
Če je datoteka predloge Razor velika in ni elegantna za uporabo nizov, lahko datoteko predloge postavite na disk in jo naložite na naslednji način:
Pošiljanje sporočil s Mailgunom
Nekateri morda ne vedo veliko o Mailgunu, Mailgun je podjetje za tuje poštne storitve, na katerem gostuje znana Github e-poštna storitev, brezplačni Maingun pa lahko pošlje 10.000 elektronskih sporočil na mesec, kar je dovolj za številne majhne in srednje velike spletne strani.
Ko uporabljate Mailgun za pošiljanje e-pošte, morate najprej registrirati račun, nato pa lahko uporabite Rest API, ki ga zagotavlja Mailgun, za upravljanje e-pošte, ki jo pošiljate ali prejemate. Mailgun z integracijo FluentEmail mora dodati le pakete, kot je ta:
Po registraciji Mailguna vam bo dodeljen API ključ in domena druge ravni, ki jo morate nastaviti takole:
Povzetek
Iz zgornjih primerov lahko vidimo, da imata MailKit in FluentEmail svoje prednosti in slabosti. Prednost MailKita je, da podpira veliko protokolov in je večplatformski, slabost pa je, da ne podpira Razorja, in če uporabljate Mailgun, ga morate integrirati sami. Prednost FlentEmail je, da podpira predloge Razor in kapsulira Mailgun, vendar je slabost ta, da protokol SMTP še ne podpira .NET Core.
Povzemimo, če uporabljate Mailgun za pošiljanje e-pošte, potem je FluentEmail prava izbira, in če želite uporabiti SMTP protokol za povezavo s svojim poštnim strežnikom za pošiljanje e-pošte, potem uporabite MailKit.
|