nodemailer

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Biblioteca nodemailer para envio de email em TypeScript

nodemailer é uma biblioteca poderosa e popular para Node.js, escrita em TypeScript, que permite enviar e-mails facilmente a partir de aplicações do lado do servidor. Ela suporta todos os protocolos modernos (SMTP, SES, Sendmail) e formatos de e-mail (HTML, texto, anexos).

Para que serve o nodemailer?

No desenvolvimento web, é frequentemente necessário enviar notificações, confirmações de registro, redefinição de senha ou mailings de marketing. O nodemailer resolve esse problema fornecendo uma API simples e flexível para trabalhar com servidores de e-mail. Graças à tipagem do TypeScript, o código se torna mais confiável e previsível.

Instalação

Instale o pacote via npm ou yarn:

npm install nodemailernpm install -D @types/nodemailer

Para TypeScript, instale obrigatoriamente o pacote com os tipos.

Principais funcionalidades

  • Suporte SMTP — funciona com qualquer servidor SMTP (Gmail, Yandex, Mailgun, SendGrid).
  • E-mails HTML e texto — é possível enviar tanto texto simples quanto mensagens HTML formatadas.
  • Anexos — suporte para arquivos, imagens e anexos inline.
  • Streams — possibilidade de enviar arquivos grandes através de streams.
  • Segurança — suporte a TLS/SSL, OAuth2.
  • Pool de conexões — otimização para envio em massa.

Exemplo de código em TypeScript

Exemplo simples de envio de e-mail via Gmail SMTP:

import nodemailer from 'nodemailer';

async function sendEmail() { const transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, // true para 465 auth: { user: 'your-email@gmail.com', pass: 'your-password', }, });

const info = await transporter.sendMail({ from: '"Sender Name" <your-email@gmail.com>', to: 'recipient@example.com', subject: 'Olá do TypeScript!', text: 'Este é o texto do e-mail.', html: '<b>Este é um e-mail HTML</b>', });

console.log('E-mail enviado:', info.messageId);}

sendEmail().catch(console.error);

Quando usar nodemailer

A biblioteca é ideal para:

  • Aplicações backend em Node.js/Express/NestJS.
  • Notificações automáticas (registro, pedidos, erros).
  • Confirmação de endereços de e-mail.
  • Envio de e-mails transacionais.
  • Integração com qualquer provedor SMTP.

Se você precisa enviar e-mails com anexos, templates HTML ou através de serviços externos (SendGrid, Mailgun), o nodemailer é o padrão de facto no ecossistema Node.js.

Importante: Para produção, use variáveis de ambiente para armazenar senhas e configurar OAuth2, a fim de não expor credenciais no código.

Recommendations