Pensando como melhorar algumas plataformas que tenho online encontrei o Sendgrid dentro do nosso velho amigo Heroku.
A Sendgrid é uma plataforma de envio de emails transacionais e de marketing.
Abaixo vão dois links explicando melhor os detalhes:
- Site oficial
 - Link para o add-on dentro do heroku(recomendo vir por aqui)
 
Agora já conhecendo melhor a plataforma, vamos configurar tudo para criar nossos emails transacionais.
O primeiro passo é provisionar o add-on do Sendgrid dentro do Heroku.

Com o add-on configurado essa é o dashboard da plataforma.

Dentro do dashboard precisamos realizar duas configurações básicas são:
- 
    
1 - Criar uma api key no dashboard
Settings > API KEY
 - 
    
2 - Configurar a api key como variável no heroku

 
Após as configurações básicas precisamos criar e testar um template ainda pelo dashboard
- Menu de templates

 
Aqui basta criar o template como preferir, usando a interface de arrasta e solta ou usando HTML
Após criar o template precisamos testar e pra isso na própria plataforma temos um sandbox para enviar o email.

Ao enviar o email via sandbox, podemos conferir a caixa de entrada do email escolhido para receber o teste.

Podemos perceber que a variável user ainda está sem preenchimento. Vamos agora criar o backend para enviar o email de forma transacional.
NodeJs
Para exemplificar o uso da plataforma criei um projeto e estou mantendo no meu github.
Ou você pode ‘deployar’ direto no heroku clicando abaixo
A base do código é o que busquei na doc oficial do Sendgrid para nodejs.
Import e configuração da API KEY que criamos anteriormente.
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_APIKEY);
Código base utilizando o template que criamos enviando todos os parametros no request.
app.post("/sendmail/template", function(req, res){
    const {to, from, template_data} = req.body;
    const msg = {
        to: to,
        from: from,
        templateId: 'd-ee4c43022cc74cec802e5398cb54a31f',
        dynamic_template_data: template_data,
    };
    sgMail.send(msg)
    .then((success)=>{
      res.status(200).send({success: "Email enviado com sucesso"});
    }).catch(err=>res.status(400).send({error:"Algo de errado não está certo no envio de emails."})); 
});
Com todo código configurado e rodando localmente vamos aos testes via postman.

Após o teste, podemos perceber que o parametro de usuário foi preenchido de acordo com o request via postman.

Dai pra frente, precisamos criar um template customizado para cada caso e transacionar como preferir. =D