predhovor
Vieme, že aktuálne .NET Core nepodporuje protokol SMTP, keď používam funkciu odosielania e-mailu, potrebujem použiť niektoré komponenty tretích strán, aby som to dosiahol, dnes vám predstavím dve open source komponenty na odosielanie e-mailov, MailKit a FluentEmail, ktoré predstavím v tomto poradí.
MailKit
V ASP.NET Core môžete použiť MailKit na odosielanie správ, podporuje multiplatformové, IMAP, POP3, SMTP a ďalšie protokoly.
Môžete ho nainštalovať nasledujúcimi metódami:
Tu je jednoduchý príklad odoslania e-mailu:
Ak je obsah, ktorý chcete poslať, HTML, môžete použiť nasledovné:
Fluent Email je tiež open source projekt, môžete používať šablóny Razor na odosielanie e-mailov a môžete sa integrovať s niektorými odosielateľmi tretích strán, ako je Mailgun, ale tento balík podporuje SMTP iba pod .NET 4.6. Môžete ho nainštalovať pomocou nasledujúceho príkazu:
E-mail môžete poslať pomocou najjednoduchších metód, tak jednoduchých ako toto:
Alternatívne môžete použiť šablónu Razor na odoslanie:
Email.DefaultRenderer povie FulentEmail, ktorý renderer má použiť (môžete si tiež implementovať vlastný), potom poskytne šablónu s obsahom šablónového reťazca syntaxe Razor a potom použije UsingTemplate na renderovanie.
CSHTML šablóna na disku
Ak je súbor šablóny Razor veľký a nie je elegantný na použitie reťazcov, môžete súbor šablóny uložiť na disk a nahrať ho nasledovne:
Posielanie správ pomocou Mailgunu
Niektorí ľudia možno o Mailgune veľa nevedia, Mailgun je zahraničná poštová služba, napríklad slávna e-mailová služba Github je na nej hostovaná a bezplatný účet Maingun môže odoslať 10 000 e-mailov mesačne, čo stačí pre mnohé malé a stredné webové stránky.
Pri používaní Mailgun na odosielanie e-mailov si najprv musíte zaregistrovať účet a potom môžete použiť Rest API poskytované Mailgunom na správu e-mailov, ktoré posielate alebo prijímate. Mailgun s integráciou FluentEmail stačí pridať balíčky ako tento:
Po registrácii Mailgun vám bude priradený API kľúč a doménové meno druhej úrovne, ktoré musíte nastaviť nasledovne:
súhrn
Z vyššie uvedených príkladov vidíme, že MailKit a FluentEmail majú svoje výhody a nevýhody. Výhodou MailKitu je, že podporuje mnoho protokolov a je multiplatformový, ale nevýhodou je, že neposkytuje podporu pre Razor, a ak používate Mailgun, musíte ho integrovať sami. Výhodou FlentEmail je, že poskytuje podporu pre šablóny Razor a zapuzdruje Mailgun, ale nevýhodou je, že protokol SMTP zatiaľ neposkytuje podporu pre .NET Core.
Zhrnuté, ak používate Mailgun na odosielanie e-mailov, mali by ste si vybrať FluentEmail, a ak chcete použiť SMTP protokol na prepojenie so svojím mailovým serverom na odosielanie e-mailov, mali by ste použiť MailKit.
|