Nodemailer: sending emails made easy
Nodemailer - это модуль для Node.js, который позволяет отправлять электронные письма с использованием протокола SMTP. Он предоставляет простой и удобный способ отправки электронных писем из приложений Node.js.
Для начала работы с nodemailer, вам нужно установить его в свой проект с помощью npm команды:
npm install nodemailer
После установки, вы можете создать экземпляр объекта nodemailer и настроить его параметры:
javascript
const nodemailer = require('nodemailer');
// Создаем транспорт для отправки писем
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'example@gmail.com',
pass: 'password'
}
});
В примере выше мы создаем транспорт с использованием сервиса Gmail и предоставляем учетные данные для аутентификации. Вы можете настроить транспорт для использования других почтовых сервисов или SMTP-серверов.
После настройки транспорта, вы можете отправлять письма:
javascript
// Настройки письма
const mailOptions = {
from: 'example@gmail.com',
to: 'recipient@example.com',
subject: 'Test Email',
text: 'Hello, this is a test email!'
};
// Отправляем письмо
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
В примере выше мы указываем отправителя и получателя письма, а также задаем тему и текст письма. Метод `sendMail` отправляет письмо с указанными параметрами. В случае успешной отправки письма, в консоли будет выведено сообщение "Email sent", а также информация о письме.
Помимо отправки простых текстовых писем, nodemailer позволяет отправлять письма с HTML-контентом, вложениями и другими возможностями. Вы можете найти более подробную информацию о всех функциях и возможностях nodemailer в его [официальной документации](https://nodemailer.com/about/).
Вот простой пример отправки письма с вложением:
javascript
const mailOptions = {
from: 'example@gmail.com',
to: 'recipient@example.com',
subject: 'Test Email with Attachment',
text: 'Hello, this is a test email with an attachment!',
attachments: [
{
filename: 'document.pdf',
path: '/path/to/document.pdf'
}
]
};
transporter.sendMail(mailOptions, function(error, info) {
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
В этом примере мы добавляем опцию `attachments` в объект `mailOptions`, где указываем имя и путь к вложению.
В итоге, nodemailer является мощным инструментом для отправки электронных писем из приложений Node.js. Он предоставляет простой и удобный интерфейс для работы с почтовыми сервисами и SMTP-серверами, а также обладает широкими возможностями для поддержки различных типов писем и функциональности.