Отправка письма в Node.JS с помощью Nodemailer
Nodemailer - один из лучших моделей для отправки почты в Node.JS. На момент написания данной статьи репозитарий Github насчитывает более 11 тысяч звезд, это значит что большое количество разработчиков использует данную библиотеку, при этом количество открытых issues не превыешает 10.
Описанный ниже пример приведен для Nodemailer версии 2.2.2.2.2.2
Для начала работы, необходимо установить Nodemailer
с помощью npm
npm install --save nodemailer
либо с помощью yarn
yarn add nodemailer
После установки необходимо добавить код в вашу программу
const nodemailer = require('nodemailer');
Далее, для работы, нужно создать специальный объект, который и будет отправлять письма, с заданными настройками
var transporter = nodemailer.createTransport({
'host': 'smtp.ethereal.email',
'port': 587,
'secure': false,
'auth': {
'user': 'account',
'pass': 'password',
},
});
А для поплуярных почтовых сервисов существует более короткая запись, для примера возьмем сервис gmail.com
var transporter = nodemailer.createTransport({
'service': 'gmail',
'auth': {
'user': 'youremail@address.com',
'pass': 'yourpassword',
},
});
Список прочих сервисов можно посмотреть по ссылке https://nodemailer.com/smtp/well-known/
Теперь необходимо определить объект с настройками для отправки конкретного письма
const mailOptions = {
'from': 'sender@email.com',
'to': 'to@email.com',
'subject': 'Subject of your email',
'html': '<p>Your html here</p>',
};
И собственно теперь можем отправить письмо
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.error(error);
} else {
console.log(info);
}
});
Таким несложным способом можно отравлять электронные письма, используя Node.JS & Nodemailer.
Ссылка на github где можно найти работающий пример