prefácio
Sabemos que o atual .NET Core não suporta o protocolo SMTP; quando uso a função de envio do e-mail, preciso usar alguns componentes de terceiros para alcançar esse objetivo. Hoje vou apresentar a vocês dois componentes de envio de e-mails open source, que são MailKit e FluentEmail, que vou apresentar respectivamente.
MailKit
No ASP.NET Core, você pode usar o MailKit para enviar mensagens, ele suporta protocolos multiplataforma, IMAP, POP3, SMTP e outros.
Você pode instalá-lo usando os seguintes métodos:
Aqui está um exemplo simples de como enviar um e-mail:
Se o conteúdo do corpo que você deseja enviar for HTML, você pode usar o seguinte:
Fluent Email também é um projeto open source, você pode usar templates Razor para enviar e-mails, e pode se integrar com alguns remetentes de e-mails terceiros, como o Mailgun, mas este pacote só suporta SMTP no .NET 4.6. Você pode instalá-lo usando o seguinte comando:
Você pode enviar um e-mail usando os métodos mais básicos, tão simples quanto este:
Alternativamente, você pode usar um modelo Razor para enviar:
Email.DefaultRenderer diz ao FulentEmail qual renderizador usar (você também pode implementar o seu próprio), depois fornece um modelo com o conteúdo da string de template da sintaxe do Razor, e então usa o UsingTemplate para renderizar o render.
Modelo CSHTML em disco
Se o arquivo template do Razor for grande e não for elegante usar strings, você pode colocar o arquivo template no disco e carregá-lo da seguinte forma:
Envie mensagens com Mailgun
Algumas pessoas podem não saber muito sobre a Mailgun, a Mailgun é uma empresa de serviços de correspondência estrangeira, como o famoso serviço de e-mail Github que está hospedado nela, e a conta gratuita Maingun pode enviar 10.000 e-mails por mês, o que é suficiente para muitos sites pequenos e médios.
Ao usar o Mailgun para enviar e-mails, primeiro é necessário registrar uma conta e, em seguida, pode usar a API Rest fornecida pelo Mailgun para gerenciar os e-mails que você envia ou recebe. O Mailgun com integração com FluentEmail só precisa adicionar pacotes assim:
Após registrar o Mailgun, você receberá uma API Key e um nome de domínio de segundo nível, e precisará configurá-lo da seguinte forma:
resumo
Pelos exemplos acima, podemos ver que MailKit e FluentEmail têm suas próprias vantagens e desvantagens. A vantagem do MailKit é que ele suporta muitos protocolos e é multiplataforma, mas a desvantagem é que ele não oferece suporte para Razor, e se você usa o Mailgun, precisa integrá-lo você mesmo. A vantagem do FlentEmail é que ele oferece suporte para templates Razor e encapsula o Mailgun, mas a desvantagem é que o protocolo SMTP ainda não oferece suporte para .NET Core.
Resumindo, se você usa o Mailgun para enviar e-mails, então o FluentEmail é a escolha que você deve escolher, e se quiser usar o protocolo SMTP para se conectar ao seu servidor de e-mail e enviar e-mails, então deve usar o MailKit.
|