Executando verificação de segurança...
18

📨 Usend — Uma alternativa grátis pra mandar e-mails no Node.js

Ultimamente, tô usando os Cloudflare Workers pra fazer uns projetos pessoais e, numa dessas horas, precisei arrumar um jeito de mandar uma senha OTP pros usuários se autenticarem. Sendo que o projeto era pequeno, eu queria evitar o custo inicial e a complexidade de configurar um serviço de e-mail. Aí, lembrei da parceria entre a MailChannels e a Cloudflare, que deixa a gente mandar e-mails de graça pelo Workers, com uns filtros anti-spam e uma entrega bem garantida. Quando fiz isso, pensei que seria massa trazer essa parada pro Node.js como uma alternativa grátis pros colegas. Aí, resolvi criar uma biblioteca pra facilitar o envio de e-mails.

E aí, claro, me inspirei no Resend, que tá fazendo sucesso pra caramba, e fiz uma API parecida, mas bem simplificada, só com as opções essenciais. De boa, a ideia não é substituir o trampo incrível que a galera do Resend tá fazendo, mas sim oferecer uma alternativa grátis pra quem não quer pagar por um serviço de e-mail ou não precisa de uma parada tão complexa. Mas, olha só, se tu quiser ajudar com alguma coisa, fica à vontade! Quem sabe a gente não expande as funcionalidades do Usend pra atender mais casos?

🎯 E as vantagens que tem aqui?

  • Integração Facinha: O Usend se integra tranquilo nos teus projetos Node.js, sem dar trabalho nenhum.
  • Flexibilidade Total: Dá pra mandar e-mails simples só com texto ou e-mails personalizados com HTML ou React. O Usend dá várias opções pra criar um layout bonito e chique.
  • Personalização de Boas: É fácil personalizar os e-mails, com uma abordagem simples pra adicionar conteúdo personalizado e campos dinâmicos.
  • Pode Escolher o Fornecedor: Tu que sabe! O Usend te deixa livre pra usar o fornecedor que preferir. Se não curtir a implementação padrão, é só criar a tua própria solução pra atender tuas necessidades.
  • Segurança com DKIM: Pros teus e-mails ficarem mais seguros, o Usend tem suporte pra assinatura DKIM. Aí é garantia de autenticidade e evita que alguém finja ser tu usando teu domínio.

🌟 Como Funciona:

1. Instala o Usend com um comando só, usando npm ou yarn.

npm install usend-email
# ou
yarn add usend-email

2. Adiciona os registros SPF e Domain Lockdown™

Se o teu domínio tá ativo num registrador de domínios, vai lá no teu provedor de DNS e coloca os seguintes registros TXT:

NomeTipoConteúdo
example.comTXTv=spf1 a mx include:relay.mailchannels.net ~all

E mais esse aqui:

NomeTipoConteúdo
_mailchannels.example.comTXTv=mc1 cfid=usend.email

Só troca o example.com pelo teu nome de domínio e pronto.

3. Manda e-mails com só umas linhas de código

import { Usend } from "usend-email";

const usend = new Usend();

(async () => {
  await usend.sendEmail({
    from: "[email protected]",
    to: "[email protected]",
    subject: "Hello from Usend",
    text: "It works!",
    html: "<p>It works!</p>",
    // ou importa o template em React assim: `react: WelcomeTemplate({ firstName: "John" })`
  });
})();

🔒 Protege teu Domínio

Pra ninguém mandar e-mails do teu domínio sem autorização, tu pode usar a criptografia RSA com o protocolo DKIM (DomainKeys Identified Mail). A implementação padrão do Usend procura por uma chave pública DKIM no teu domínio e, se achar, só manda o e-mail se tu der a chave privada no processo de envio. Se tu quiser saber como configurar isso, olha a documentação.

🔎 Onde Achar o Usend?


Dúvidas ou sugestões? Escreve aí ou abre uma issue no GitHub. Melhor ainda, manda um PR com a tua contribuição. Espero que o Usend seja bem útil pra ti! 😉

Carregando publicação patrocinada...
1

Quais a militações de envios desse serviço?
Quando passa a ser pago?
Achei muito interessante.
Mas não me importo em pagar quando usar muito o serviço
Caso eu use é claro!

Não daria pra usar o Nodemailer?

2

Me perguntei o mesmo sobre limitações e a resposta do CEO da MailChannels foi:

We don’t place any restrictions or arbitrary limits on what you can send. We do perform extensive spam and phishing filtering and have a state of the art system to ensure that bad email practices will be limited or blocked. [...]

Não é possível usar o Nodemailer, a ideia de escolher o fornecedor é de que qualquer um pode "deployar" sua própria infra com poucos comandos.

Eu não penso nisso como um produto, até porque ficaria intimamente dependente da boa vontade da MailChannels. Para pensar nisso, teria que entrar em contato com o comercial deles. Mas é um serviço legal, e parece que eles tem planos de deixar disponível indefinidamente.

1
1

Se escalar o vendor default e o projeto ganhar tração eu pretendo abrir pra doações e patrocínios, mas a ideia é manter sempre gratuito e open-source. O custo do envio de 10.000.000 requisições/e-mails é de U$ 5,00! Seria massa ter contribuições da comunidade e criar algo mais elaborado, usando a infraestrutura da Cloudflare, como, talvez:

Mas são só ideias por enquanto. Fiz a lib no tempo livre. 😁

1
1

Cara, seu artigo veio no momento certo. Obrigada por compartilhar!

É muito bacana ver que gostaria mantê-lo open source. Se em algum momento ficar mais complexo ou até mesmo custoso, faço questão de ajudar.

1

Que projeto incrível, não conhecia os serviços mencionados no conteúdo, e achei muito interessante ver e saber como funciona um serviço de e-mail, custos e ferramentas utilizadas, o projeto está muito bacana, bem documentado, simples de usar e gratuito, com certeza irei ajudar no projeto da forma que eu puder e espero que ele tenha muito sucesso!

0
0
1
0
1
0
0