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

Envio de email em TypeScript: Biblioteca nodemailer

Nodemailer é o módulo mais popular para envio de emails a partir de Node.js e TypeScript. Ele permite enviar emails via SMTP, bem como através de serviços de transporte integrados (SendGrid, Mailgun e outros). A biblioteca suporta totalmente TypeScript (incluindo tipagem) e funciona tanto com emails de texto quanto HTML, anexos e criptografia.

Para que serve o nodemailer?

  • Envio de emails transacionais (confirmação de registro, recuperação de senha).
  • Envio de notificações (por exemplo, após um pedido no site).
  • Integração com formulários de contato.
  • Automação de relatórios (dumps de dados diários).

Instalação

npm install nodemailernpm install @types/nodemailer --save-dev

Funcionalidades principais

  • Transporte SMTP — configuração através de qualquer servidor SMTP (Gmail, Yandex, Mail.ru).
  • Suporte a HTML e texto — é possível enviar tanto plain text quanto templates HTML elaborados.
  • Anexos — arquivos, imagens, PDF.
  • Transmissão por stream — envio de arquivos grandes sem carregar na memória.
  • Tipagem — suporte total a TypeScript (interfaces para opções).

Exemplo de código em TypeScript

import nodemailer from 'nodemailer';

interface MailOptions { from: string; to: string; subject: string; text?: string; html?: string;}

async function sendEmail(options: MailOptions): Promise<void> { const transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, auth: { user: 'your-email@gmail.com', pass: 'your-app-password' } });

const info = await transporter.sendMail(options); console.log('Email sent:', info.messageId);}

// UsosendEmail({ from: 'noreply@example.com', to: 'user@example.com', subject: 'Hello from TypeScript', html: '<h1>Welcome!</h1><p>This is a test email.</p>'});

Quando usar o nodemailer?

A biblioteca é ideal para aplicações server-side em Node.js/TypeScript, especialmente em conjunto com Express, Next.js ou Nest.js. Se você precisa configurar rapidamente o envio de emails sem configurações complexas — nodemailer é a melhor escolha. Também é adequado para microsserviços e tarefas em segundo plano (por exemplo, com Bull ou Agenda).

Observações importantes

  • Para Gmail, use uma senha de aplicativo (não a senha principal).
  • Para produção, use variáveis de ambiente (por exemplo, process.env.SMTP_PASS).
  • Não se esqueça do tratamento de erros: try/catch é obrigatório.

Nodemailer é o padrão de facto para envio de email em TypeScript. Leve, confiável e com excelente documentação.

Recommendations