Открытый API Nodd.js для чтения и отправки электронных писем

Продвинутый открытый API управления электронной почтой Node.js позволяет разработчикам создавать, читать, настраивать и отправлять сообщения электронной почты с вложениями и пользовательским заголовком из приложений Node.js.

Что такое Nodemailer API?

Откройте для себя Nodemailer — необходимую библиотеку для отправки электронной почты разработчикам Node.js. Этот инструмент позволяет разработчикам Node.js создавать и отправлять электронные сообщения всего лишь несколькими строками кода из их приложений. Его открытый исходный код и надёжный API делают его популярным выбором для разработчиков, желающих бесшовно интегрировать функциональность электронной почты. Разработчики могут широко настраивать содержание писем без какой-либо внешней помощи. От простых текстовых писем до сложных HTML‑шаблонов (транзакционные письма, уведомления или рассылки) с вложениями — библиотека предоставляет инструменты, необходимые для создания профессиональных и привлекательных писем. Для повышения безопасности она поддерживает аутентификацию OAuth2. Этот метод особенно полезен при отправке писем из сервисов, поддерживающих OAuth2, таких как Gmail.

Nodemailer поддерживает различные методы транспортировки, включая SMTP, OAuth2 и даже прямой транспорт. Эта гибкость позволяет разработчикам выбирать наиболее подходящий метод для их конкретного случая использования. Он предоставляет обширные возможности настройки и позволяет разработчикам задавать пользовательские заголовки, изменять кодировку, добавлять вложения, встроенные изображения и настраивать другие параметры в соответствии с конкретными требованиями. Как проект с открытым исходным кодом, API получает выгоду от активного сообщества участников и пользователей. Это активное сообщество обеспечивает регулярные обновления, постоянное улучшение и обилие общих знаний и ресурсов. Nodemailer выделяется как мощное, гибкое и надёжное решение для интеграции электронной почты в приложениях Node.js. Его открытый характер и сильная поддержка сообщества делают его предпочтительным инструментом для разработчиков, стремящихся улучшить свои приложения надёжными возможностями отправки писем.

Previous Next

Начало работы с Nodemailer

Рекомендуемый способ установки Nodemailer — использовать NPM. Пожалуйста, используйте следующую команду для беспроблемной установки.

Установите Nodemailer через npm

npm install nodemailer
 

Отправка электронного сообщения из Node.js

Открытый API Nodemailer для электронной почты позволяет разработчикам программного обеспечения создавать и отправлять электронные сообщения из приложений Node.js без каких-либо внешних зависимостей. API поддерживает различные механизмы транспортировки, позволяя разработчикам выбирать лучший метод отправки писем. Наиболее распространённые методы транспортировки включают SMTP‑транспорт, поддержку OAuth2 или прямой транспорт. Он поддерживает добавление вложений к письмам, встраивание изображений в HTML‑контент, отправку писем нескольким получателям и т.д. Ниже приведён простой пример, показывающий, как разработчики могут использовать SMTP‑транспорт для отправки сообщения электронной почты из приложения Node.js.

Как отправить электронное сообщение через SMTP-транспорт из приложений 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));
});
 

Отправка писем с богатым содержимым из приложений Node.js

Nodemailer API позволяет создавать насыщенный контент электронных писем, поддерживая как обычный текст, так и форматы HTML в приложениях Node.js. Это дает разработчикам программного обеспечения возможность создавать визуально привлекательные письма, которые могут включать стили, изображения и даже интерактивный контент. Используя API вместе с шаблонизаторами, такими как Handlebars или EJS, разработчики могут создавать динамические, основанные на данных шаблоны писем. Это идеально подходит для отправки персонализированных сообщений, где содержание может адаптироваться в зависимости от данных пользователя. API поддерживает вложения, позволяя отправлять файлы, такие как PDF, изображения или любые другие типы файлов вместе с письмом.

Пользовательские заголовки и встроенные изображения

Для расширенной настройки электронных писем Nodemailer API позволяет разработчикам программного обеспечения включать пользовательские заголовки и встроенные изображения в приложениях Node.js. Эта функция особенно полезна для брендинга и персонализации, обеспечивая соответствие писем внешнему виду и стилю приложения. Пользовательские заголовки можно использовать для установки специфических метаданных письма, а встроенные изображения делают письмо визуально привлекательным, отображая изображения непосредственно в тексте. Ниже приведён всесторонний пример, демонстрирующий отправку письма с пользовательскими заголовками и встроенным изображением.

Как отправить письмо с пользовательским заголовком и встроенным изображением через 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: `

Добро пожаловать!

Это письмо содержит пользовательские заголовки и встроенное изображение.

`, 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); });
 Русский