Web API Rest para o envio de emails.
- Autorização de uso via chave privada por cliente cadastrado.
- Suporta múltiplos destinatários por mensagem.
- Não necessita de certificado SSL.
- Para compilar e executar: plataforma .Net 5 ou superior.
- Para explorar e alterar: Visual Studio ou outra IDE com suporte a projetos Web API do .Net 5.
- Para testar: ferramenta Rest como Postman ou Insomnia ou cliente HTTP como cURL.
- Para implantar no Docker: crie um diretório "publish" e copie para ele a aplicação compilada, copie o Dockerfile do projeto para o diretório pai do diretório criado e proceda de acordo com as instruções oficiais da plataforma. (Você também pode buscar por mais informações sobre as imagens oficiais da Microsoft ou detalhes da imagem utilizada neste projeto).
- Altere os parâmetros do arquivo appsettings.json de acordo com suas necessidades.
- Execute o projeto em sua IDE ou compile-o e realize o deploy para um servidor HTTP.
- Envie requisição HTTP POST, em sua ferramenta Rest, respeitando os parâmetros detalhados a seguir.
Parâmetros da Requisição
Os cabeçalhos POST, Authorization e Content-Type precisam respeitar o formato abaixo.
POST /api/v1/email HTTP/1.1
Authorization: ApiKey <chave_privada_do_cliente>
Content-Type: application/json
O corpo da mensagem deve ser construído da seguinte maneira:
{
"subject":"<assunto>",
"body":"<corpo>",
"recipients":["<destinatario_1>","<destinatario_2>",...,"<destinatario_N>"],
"html": <true_ou_false>
}
Exemplo de Requisição
Envio de mensagem do cliente de chave privada 8bb2c0e5dd2142c1957094b4670ebc2a para dois destinatários:
POST /api/v1/email HTTP/1.1
Host: localhost:5000
User-Agent: insomnia/2020.5.2
Authorization: ApiKey 8bb2c0e5dd2142c1957094b4670ebc2a
Content-Type: application/json
Accept: */*
Content-Length: 134
{
"subject":"Teste",
"body":"Isso é apenas um teste! :)",
"recipients":["[email protected]","[email protected]"],
"html": true
}
Se você utiliza autenticação em duas etapas (2FA) em seu provedor de email será necessário uma senha de aplicativo para utilizar no Email Sender. Nesse caso, acesse sua conta de email e crie uma senha de aplicativo para poder enviar emails via API. No Gmail, por exemplo, esse procedimento pode ser realizado em https://myaccount.google.com/apppasswords.