předmluva
Víme, že aktuální .NET Core nepodporuje protokol SMTP, když používám funkci odesílání e-mailu, potřebuji použít některé komponenty třetích stran, abych toho dosáhl. Dnes vám představím dvě open source komponenty pro odesílání e-mailů, MailKit a FluentEmail, které představím.
MailKit
V ASP.NET Core můžete použít MailKit k odesílání zpráv, podporuje multiplatformní přístup, IMAP, POP3, SMTP a další protokoly.
Můžete ji nainstalovat následujícími způsoby:
Tady je jednoduchý příklad odeslání e-mailu:
Pokud je hlavní obsah, který chcete poslat, HTML, můžete použít následující:
Fluent Email je také open source projekt, můžete používat šablony Razor pro odesílání e-mailů a můžete se integrovat s některými třetími stranami, jako je Mailgun, ale tento balíček podporuje SMTP pouze pod .NET 4.6. Můžete ji nainstalovat pomocí následujícího příkazu:
Můžete poslat e-mail pomocí nejzákladnějších metod, tak jednoduchých jako je toto:
Alternativně můžete použít šablonu Razor k odeslání:
Email.DefaultRenderer říká FulentEmail, který renderer použít (můžete si také implementovat vlastní), pak poskytne šablonu s obsahem šablonového řetězce syntaxe Razoru a nakonec použije UsingTemplate k vykreslení renderu.
CSHTML šablona na disku
Pokud je soubor šablony Razor velký a není vhodný pro použití řetězců, můžete šablonu vložit na disk a načíst ji následovně:
Posílejte zprávy pomocí Mailgunu
Někteří lidé o Mailgunu nemusí vědět mnoho, Mailgun je zahraniční poštovní služba, například slavná e-mailová služba Github je na ní hostovaná, a bezplatný účet Maingun může poslat 10 000 e-mailů měsíčně, což stačí pro mnoho malých a středních webů.
Při používání Mailgunu k odesílání e-mailů je nejprve potřeba zaregistrovat účet a poté můžete použít Rest API poskytované Mailgunem ke správě e-mailů, které posíláte nebo přijímáte. Mailgun s integrací FluentEmail stačí přidat balíčky jako tento:
Po registraci Mailgun vám bude přiřazen API klíč a doména druhé úrovně, kterou musíte nastavit následovně:
shrnutí
Z výše uvedených příkladů vidíme, že MailKit a FluentEmail mají své vlastní výhody a nevýhody. Výhodou MailKitu je, že podporuje mnoho protokolů a je multiplatformní, ale nevýhodou je, že neposkytuje podporu pro Razor, a pokud používáte Mailgun, musíte ho integrovat sami. Výhodou FlentEmail je, že podporuje šablony Razor a zapouzdřuje Mailgun, ale nevýhodou je, že protokol SMTP zatím nepodporuje .NET Core.
Shrnuto, pokud používáte Mailgun k odesílání e-mailů, pak je FluentEmail tou správnou volbou, a pokud chcete použít protokol SMTP k propojení se svým mailovým serverem pro odesílání e-mailů, měli byste použít MailKit.
|