1. Produtos
  2.   E-mail
  3.   Node.js
  4.   Nodemailer
 
  

API Open Source Nodd.js para Leitura e Envio de Emails

Uma avançada API Open Source de Gerenciamento de Email Node.js permite que desenvolvedores criem, leiam, personalizem e enviem mensagens de Email com anexos e cabeçalho personalizado a partir de aplicativos Node.js.

O que é a API do Nodemailer?

Descubra o Nodemailer, a biblioteca essencial para envio de e‑mail para desenvolvedores Node.js. A ferramenta capacita desenvolvedores Node.js a criar e enviar mensagens de e‑mail com apenas algumas linhas de código a partir de suas aplicações. Sua natureza de código aberto e API robusta a tornam uma escolha popular para desenvolvedores que desejam integrar funcionalidade de e‑mail de forma fluida. Desenvolvedores de software podem personalizar o conteúdo do e‑mail extensivamente sem ajuda externa. Desde e‑mails de texto simples até modelos HTML complexos (e‑mails transacionais, notificações ou newsletters) com anexos, a biblioteca fornece as ferramentas necessárias para criar e‑mails profissionais e envolventes. Para maior segurança, ela oferece suporte à autenticação OAuth2. Esse método é particularmente útil ao enviar e‑mails de serviços que suportam OAuth2, como o Gmail.

O Nodemailer suporta uma variedade de métodos de transporte, incluindo SMTP, OAuth2 e até mesmo transporte direto. Essa flexibilidade garante que os desenvolvedores possam escolher o método mais adequado para seu caso de uso específico. Ele oferece extensas opções de personalização e permite que os desenvolvedores definam cabeçalhos personalizados, modifiquem a codificação, adicionem anexos, imagens embutidas e ajustem outros parâmetros para atender a requisitos específicos. Como um projeto de código aberto, a API se beneficia de uma comunidade vibrante de contribuidores e usuários. Essa comunidade ativa assegura atualizações regulares, melhoria contínua e uma riqueza de conhecimento e recursos compartilhados. O Nodemailer destaca‑se como uma solução poderosa, flexível e confiável para integração de e‑mail em aplicações Node.js. Sua natureza de código aberto e forte apoio da comunidade o tornam uma ferramenta indispensável para desenvolvedores que desejam aprimorar suas aplicações com capacidades robustas de envio de e‑mail.

Previous Next

Começando com o Nodemailer

A forma recomendada de instalar o Nodemailer é usando o NPM. Por favor, use o comando a seguir para uma instalação tranquila.

Instale o Nodemailer via npm

npm install nodemailer
 

Enviando Mensagem de Email a partir do Node.js

A API de e‑mail de código aberto Nodemailer permite que desenvolvedores de software criem e enviem mensagens de e‑mail a partir de aplicações Node.js sem dependências externas. A API suporta vários mecanismos de transporte, permitindo que os desenvolvedores escolham o melhor método para enviar e‑mails. Os métodos de transporte mais comuns incluem Transporte SMTP, Suporte OAuth2 ou Transporte Direto. Ela suporta a adição de anexos aos e‑mails, incorporação de imagens anexas para conteúdo HTML, envio de e‑mail para múltiplos usuários e assim por diante. Aqui está um exemplo simples que mostra como os desenvolvedores de software podem usar o transporte SMTP para enviar uma mensagem de e‑mail a partir de uma aplicação Node.js.

Como enviar mensagem de e‑mail via transporte SMTP a partir de aplicativos Node.js?

 
const nodemailer = require('nodemailer');

// Configure the SMTP transport
let transporter = nodemailer.createTransport({
    host: 'smtp.example.com',
    port: 587,
    secure: false, // true for 465, false for other ports
    auth: {
        user: 'your-email@example.com', // your SMTP username
        pass: 'your-email-password' // your SMTP password
    }
});

// Define the email options
let mailOptions = {
    from: 'your-email@example.com', // sender address
    to: 'recipient@example.com', // list of receivers
    subject: 'Hello from Nodemailer', // Subject line
    text: 'This is a test email sent using Nodemailer', // plain text body
    html: 'This is a test email sent using Nodemailer' // html body
};

// Send the email
transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.log('Error: ', error);
    }
    console.log('Message sent: %s', info.messageId);
    console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
});
 

Envie Emails com Conteúdo Rico a partir de Aplicações Node.js

A API Nodemailer permite a criação de conteúdo de e‑mail rico, suportando tanto texto simples quanto formatos HTML dentro de aplicações Node.js. Isso permite que desenvolvedores de software criem e‑mails visualmente atraentes que podem incluir estilos, imagens e até conteúdo interativo. Ao usar a API com mecanismos de template como Handlebars ou EJS, os desenvolvedores podem criar modelos de e‑mail dinâmicos e orientados por dados. Isso é perfeito para enviar mensagens personalizadas, onde o conteúdo pode se adaptar com base nos dados do usuário. A API suporta anexos, tornando possível enviar arquivos como PDFs, imagens ou qualquer outro tipo de arquivo junto com o e‑mail.

Cabeçalhos Personalizados e Imagens Incorporadas

Para personalização avançada de e‑mail, a API Nodemailer permite que desenvolvedores de software incluam cabeçalhos personalizados e imagens incorporadas dentro de aplicações Node.js. Esse recurso é particularmente útil para branding e personalização, garantindo que os e‑mails estejam alinhados com a aparência e a sensação da aplicação. Cabeçalhos personalizados podem ser usados para definir metadados específicos para o e‑mail, enquanto imagens incorporadas podem tornar seu e‑mail visualmente atraente ao exibir imagens embutidas. Abaixo está um exemplo abrangente que demonstra o envio de um e‑mail com cabeçalhos personalizados e uma imagem incorporada.

Como enviar um e‑mail com cabeçalho personalizado e uma imagem incorporada via API Node.js?

 
const nodemailer = require('nodemailer');
const path = require('path');

// Create a transporter object using SMTP transport
let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'your-email@gmail.com',
        pass: 'your-email-password'
    }
});

// Define the email options, including custom headers and an embedded image
let mailOptions = {
    from: 'your-email@gmail.com',
    to: 'recipient@example.com',
    subject: 'Custom Headers and Embedded Images in Nodemailer',
    html: `

Bem‑vindo!

Este e‑mail contém cabeçalhos personalizados e uma imagem incorporada.

`, headers: { 'X-Custom-Header': 'CustomHeaderValue', 'X-Mailer': 'Nodemailer 6.4.11' }, attachments: [ { filename: 'image.jpg', path: path.join(__dirname, 'path_to_image/image.jpg'), cid: 'unique@nodemailer.com' // same cid as in the HTML above } ] }; // Send the email transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.error('Error sending email:', error); } console.log('Email sent successfully:', info.response); });
 Português