Nodemailer — envio de email em TypeScript

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

O que é Nodemailer e para que serve?

Nodemailer é o módulo mais popular para envio de e-mails no ambiente Node.js. Escrito em JavaScript, funciona perfeitamente com TypeScript graças aos tipos integrados (DefinitelyTyped). A biblioteca permite enviar e-mails via SMTP, Sendmail, Amazon SES e outros transports. Em projetos TypeScript, o Nodemailer fornece tipagem estrita para todas as opções, o que reduz o número de erros em tempo de compilação.

Instalação

Para instalar, execute o comando:

npm install nodemailer @types/nodemailer

O pacote @types/nodemailer adiciona as declarações de tipos necessárias para TypeScript.

Principais funcionalidades

  • Envio de e-mails via SMTP — suporte para Gmail, Yandex, Mail.ru, SendGrid e qualquer outro servidor SMTP.
  • Anexos — possibilidade de anexar arquivos, imagens, PDFs.
  • Modelos HTML — envio de e-mails com conteúdo HTML formatado.
  • Suporte a SSL/TLS — transmissão segura de dados.
  • Pool de conexões — otimização para envios em massa.

Exemplo de código em TypeScript

Abaixo está um exemplo mínimo de envio de e-mail via Gmail SMTP usando 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({ service: 'gmail', auth: { user: 'your@gmail.com', pass: 'your-app-password', }, });

const info = await transporter.sendMail(options); console.log('E-mail enviado:', info.messageId);}

// UsosendEmail({ from: 'your@gmail.com', to: 'recipient@example.com', subject: 'Olá do TypeScript!', html: '<h1>E-mail de teste</h1><p>Enviado com Nodemailer</p>',});

Importante: Para o Gmail, é necessário usar uma senha de aplicativo (App Password), e não a senha normal.

Quando usar Nodemailer?

A biblioteca é adequada para:

  • E-mails de registro (confirmação de e-mail, recuperação de senha).
  • Notificações de pedidos em lojas online.
  • Newsletters e e-mails de marketing (usando filas).
  • Relatórios automáticos do backend (logs, erros, estatísticas).

Se você precisa enviar e-mails em um projeto TypeScript — o Nodemailer continua sendo o padrão de facto devido à sua flexibilidade, confiabilidade e enorme comunidade.

Recommendations