előszó
Tudjuk, hogy a jelenlegi .NET Core nem támogatja az SMTP protokollt, amikor az e-mail küldési funkcióját használom, néhány harmadik féltől származó komponenseket kell használnom a cél eléréséhez. Ma bemutatok nektek két nyílt forráskódú e-mail küldési komponensnek, ezek a MailKit és a FluentEmail, és ezeket majd bemutatom.
MailKit
ASP.NET Core-ban MailKit-et használhatsz üzenetküldéshez, amely támogatja a cross-platform, IMAP, POP3, SMTP és más protokollokat.
Az alábbi módszerekkel telepítheted:
Íme egy egyszerű példa az e-mail küldésére:
Ha a tartalom, amit küldeni szeretnél, HTML, használhatod a következőket:
A Fluent Email szintén nyílt forráskódú projekt, Razor sablonokat használhatsz e-mailek küldéséhez, és integrálódhatsz néhány harmadik féltől származó e-mail küldővel, például a Mailgunnal, de ez a csomag csak az SMTP-t támogatja a .NET 4.6 alatt. A következő parancsot telepítheted:
A legegyszerűbb módszerekkel is küldhetsz e-mailt, ennyire egyszerűen:
Alternatívaként használhatsz egy Razor sablont a következő üzenetek elküldéséhez:
Az Email.DefaultRenderer megmondja a FulentEmailnek, melyik renderert használja (a sajátot is megvalósíthatod), majd egy sablonsablont ad a Razor szintaxis sablon sorozatának tartalmával, majd az UsingTemplate-t használja a render megjelenítéséhez.
CSHTML sablon a lemezen
Ha a Razor sablonfájl nagy és nem elegáns a stringek használatához, akkor a sablonfájlt lemezre teheted, és az alábbiak szerint töltheted be:
Üzenetküldés Mailgunnal
Lehet, hogy egyesek nem sokat tudnak a Mailgunról, a Mailgun egy külföldi postai szolgáltató, például a híres Github e-mail szolgáltatás is ott működik, és az ingyenes Maingun fiók havonta 10 000 e-mailt tud küldeni, ami sok kis és közepes méretű weboldal számára elegendő.
Amikor a Mailgunnal e-maileket küldesz, először regisztrálnod kell egy fiókot, majd a Mailgun által biztosított Rest API-val kezelheted az általad küldött vagy kapott e-maileket. A Mailgun FluentEmail integrációval csak ilyen csomagokat kell hozzáadni:
A Mailgun regisztrációja után egy API kulcsot és egy másodszintű domainnevet kapsz, és ezt a következőképpen kell konfigurálnod:
összefoglalás
A fenti példákból láthatjuk, hogy a MailKit és a FluentEmail megvannak a maga előnyei és hátrányai. A MailKit előnye, hogy sok protokollt támogat és platformos rendszerrel, de hátránya, hogy nem támogatja a Razort, és ha Mailgunt használsz, magadnak kell integrálnod. A FlentEmail előnye, hogy támogatja a Razor sablonokat és lefedi a Mailgunt, de hátránya, hogy az SMTP protokoll még nem támogatja a .NET Core-t.
Összefoglalva, ha a Mailgunnal küldöd az e-maileket, akkor a FluentEmail a választás, és ha az SMTP protokollt szeretnéd használni az e-mailek küldéséhez a szerveredhez, akkor a MailKitet kell használnod.
|