предговор
Знаем, че настоящият .NET Core не поддържа SMTP протокола, когато използвам функцията за изпращане на имейла, трябва да използвам някои компоненти на трети страни, за да постигна целта. Днес ще ви представя два отворени компонента за изпращане на имейли – MailKit и FluentEmail, които ще ги представя съответно.
MailKit
В ASP.NET Core можете да използвате MailKit за изпращане на съобщения, той поддържа кросплатформени, IMAP, POP3, SMTP и други протоколи.
Можете да го инсталирате по следните методи:
Ето един прост пример за изпращане на имейл:
Ако основното съдържание, което искате да изпратите, е HTML, можете да използвате следното:
Fluent Email също е проект с отворен код, можете да използвате шаблони на Razor за изпращане на имейли и да се интегрирате с някои трети страни за изпращане на имейли като Mailgun, но този пакет поддържа SMTP само под .NET 4.6. Можете да го инсталирате чрез следната команда:
Можете да изпратите имейл с най-основните методи, толкова прости, колкото този:
Алтернативно, можете да използвате шаблон Razor, за да изпратите:
Email.DefaultRenderer казва на FulentEmail кой рендерър да използва (можете да реализирате и свой), след това предоставя шаблон с съдържанието на шаблонния низ от Razor синтаксиса и използва UsingTemplate, за да рендерира рендера.
CSHTML шаблон на диск
Ако шаблонният файл на Razor е голям и не е елегантен за използване на низове, тогава можете да сложите шаблонния файл на диск и да го заредите по следния начин:
Изпращай съобщения с Mailgun
Някои хора може да не знаят много за Mailgun, Mailgun е компания за чуждестранна пощенска услуга, като известната имейл услуга Github, която е хоствана там, а безплатният Maingun акаунт може да изпраща 10 000 имейла месечно, което е достатъчно за много малки и средни уебсайтове.
Когато използвате Mailgun за изпращане на имейли, първо трябва да регистрирате акаунт, след което можете да използвате Rest API, предоставен от Mailgun, за да управлявате имейлите, които изпращате или получавате. Mailgun с интеграция с FluentEmail трябва да добавя само пакети по този начин:
След регистрация на Mailgun, ще ви бъде назначен API ключ и домейн име от второ ниво, като трябва да го конфигурирате по следния начин:
резюме
От горните примери виждаме, че MailKit и FluentEmail имат своите предимства и недостатъци. Предимството на MailKit е, че поддържа много протоколи и е кросплатформен, но недостатъкът е, че не поддържа Razor, а ако използвате Mailgun, трябва да го интегрирате сами. Предимството на FlentEmail е, че осигурява поддръжка на шаблони Razor и капсулира Mailgun, но недостатъкът е, че SMTP протоколът все още не поддържа .NET Core.
В обобщение, ако използвате Mailgun за изпращане на имейли, тогава FluentEmail е изборът, който трябва да изберете, и ако искате да използвате SMTP протокола, за да се свържете с вашия пощенски сървър и да изпращате имейли, тогава трябва да използвате MailKit.
|