prefață
Știm că actualul .NET Core nu suportă protocolul SMTP, iar când folosesc funcția de trimitere a emailului, trebuie să folosesc unele componente terțe pentru a atinge acest scop, astăzi vă voi prezenta două componente open source de trimitere a emailului, MailKit și FluentEmail, pe care le voi prezenta, respectiv.
MailKit
În ASP.NET Core, poți folosi MailKit pentru a trimite mesaje, suportând protocoale cross-platform, IMAP, POP3, SMTP și altele.
Îl poți instala folosind următoarele metode:
Iată un exemplu simplu de trimiterea unui email:
Dacă conținutul de corp pe care doriți să-l trimiteți este HTML, puteți folosi următoarele:
Fluent Email este, de asemenea, un proiect open source, poți folosi șabloane Razor pentru a trimite emailuri și poți integra cu unii expeditori de email terți, cum ar fi Mailgun, dar acest pachet suportă SMTP doar sub .NET 4.6. Îl poți instala folosind următoarea comandă:
Poți trimite un email folosind cele mai simple metode, la fel de simple ca aceasta:
Alternativ, poți folosi un șablon Razor pentru a trimite:
Email.DefaultRenderer îi spune lui FulentEmail ce renderer să folosească (poți implementa și al tău), apoi oferă un șablon cu conținutul șirului de șablon din sintaxa Razor, iar apoi folosește UsingTemplate pentru a randa randarea.
Șablon CSHTML pe disc
Dacă fișierul șablon Razor este mare și nu este elegant să folosești șiruri, atunci poți pune fișierul șablon pe disc și să-l încarci astfel:
Trimite mesaje cu Mailgun
Unii oameni poate nu știu prea multe despre Mailgun, Mailgun este o companie străină de servicii poștale, cum ar fi faimosul serviciu de email Github găzduit pe ea, iar contul gratuit Maingun poate trimite 10.000 de emailuri pe lună, ceea ce este suficient pentru multe site-uri mici și mijlocii.
Când folosești Mailgun pentru a trimite emailuri, mai întâi trebuie să îți înregistrezi un cont, apoi poți folosi API-ul Rest oferit de Mailgun pentru a gestiona emailurile pe care le trimiți sau primești. Mailgun cu integrare FluentEmail trebuie doar să adauge pachete de acest fel:
După înregistrarea Mailgun, ți se va atribui o cheie API și un nume de domeniu de nivel doi, iar tu trebuie să le configurezi astfel:
rezumat
Din exemplele de mai sus, putem vedea că MailKit și FluentEmail au propriile avantaje și dezavantaje. Avantajul MailKit este că suportă multe protocoale și este cross-platform, dar dezavantajul este că nu oferă suport pentru Razor, iar dacă folosești Mailgun, trebuie să-l integrezi singur. Avantajul FlentEmail este că oferă suport pentru șabloanele Razor și încapsulează Mailgun, dar dezavantajul este că protocolul SMTP nu oferă încă suport pentru .NET Core.
În concluzie, dacă folosești Mailgun pentru a trimite emailuri, atunci FluentEmail este alegerea pe care ar trebui să o alegi, iar dacă vrei să folosești protocolul SMTP pentru a te conecta la serverul tău de email pentru a trimite emailuri, atunci ar trebui să folosești MailKit.
|