przedmowa
Wiemy, że obecny .NET Core nie obsługuje protokołu SMTP, gdy korzystam z funkcji wysyłania e-maili, muszę użyć niektórych komponentów firm trzecich, aby osiągnąć cel. Dziś przedstawię wam dwa otwartoźródłowe komponenty wysyłania e-maili: MailKit i FluentEmail, które odpowiednio przedstawię.
MailKit
W ASP.NET Core można używać MailKit do wysyłania wiadomości, obsługuje on protokoły międzyplatformowe, IMAP, POP3, SMTP i inne.
Możesz zainstalować ją na następujące sposoby:
Oto prosty przykład wysyłania e-maila:
Jeśli treść główna materiału, którą chcesz przesłać, to HTML, możesz użyć następujących metod:
Fluent Email to również projekt open source, możesz używać szablonów Razor do wysyłania e-maili oraz integrować się z niektórymi zewnętrznymi nadawcami, takimi jak Mailgun, ale ten pakiet obsługuje SMTP tylko w ramach .NET 4.6. Możesz zainstalować ją za pomocą następującego polecenia:
Możesz wysłać e-maila za pomocą najprostszych metod, tak prostych jak to:
Alternatywnie możesz użyć szablonu Razor do wysłania:
Email.DefaultRenderer informuje FulentEmail, którego renderera ma użyć (możesz też zaimplementować własny), następnie dostarcza szablon z treścią tekstu składni Razor, a następnie używa UsingTemplate do renderowania renderu.
Szablon CSHTML na dysku
Jeśli plik szablonu Razor jest duży i nie nadaje się do używania ciągów znaków, możesz umieścić plik szablonu na dysku i załadować go w następujący sposób:
Wysyłaj wiadomości za pomocą Mailgun
Niektórzy mogą nie znać się na Mailgun, Mailgun to firma zajmująca się zagraniczną dostawą pocztową, na której hostowana jest słynna usługa poczta Github, a darmowe konto Maingun może wysyłać 10 000 wiadomości miesięcznie, co wystarcza dla wielu małych i średnich stron internetowych.
Korzystając z Mailgun do wysyłania e-maili, najpierw musisz zarejestrować konto, a następnie możesz korzystać z API Rest udostępnionego przez Mailgun do zarządzania wysyłanymi lub otrzymywanymi e-mailami. Mailgun z integracją FluentEmail musi dodawać tylko takie pakiety:
Po rejestracji Mailgun otrzymasz klucz API oraz nazwę domeny drugiego poziomu, a następnie musisz skonfigurować ją następująco:
streszczenie
Z powyższych przykładów widać, że MailKit i FluentEmail mają swoje zalety i wady. Zaletą MailKit jest to, że obsługuje wiele protokołów i jest wieloplatformowy, ale wadą jest brak wsparcia dla Razora, a jeśli używasz Mailgun, musisz go samodzielnie zintegrować. Zaletą FlentEmail jest to, że obsługuje szablony Razor i enkapsuluje Mailgun, ale wadą jest to, że protokół SMTP nie obsługuje jeszcze .NET Core.
Podsumowując, jeśli używasz Mailgun do wysyłania e-maili, to FluentEmail jest najlepszym wyborem, a jeśli chcesz użyć protokołu SMTP do połączenia się z serwerem mailowym w celu wysyłania e-maili, powinieneś użyć MailKit.
|