Отправка электронной почты в Node.js: Nodemailer, Mailgun и SendGrid

Чтобы отправить электронное письмо с помощью Node.js, вы можете использовать несколько методов. Вот несколько популярных вариантов:

  1. Nodemailer: Nodemailer — это широко используемый модуль Node.js для отправки электронных писем. Он поддерживает различные методы транспортировки, такие как SMTP, sendmail и Amazon SES. Nodemailer предоставляет простой и гибкий API для отправки электронных писем с вложениями, HTML-содержимым и многим другим.

Вот пример использования Nodemailer для отправки электронного письма:

const nodemailer = require('nodemailer');
// Create a transporter object
const transporter = nodemailer.createTransport({
  service: 'Gmail',
  auth: {
    user: 'your-email@gmail.com',
    pass: 'your-password'
  }
});
// Define the email options
const mailOptions = {
  from: 'your-email@gmail.com',
  to: 'recipient-email@example.com',
  subject: 'Hello from Node.js',
  text: 'This is the body of the email'
};
// Send the email
transporter.sendMail(mailOptions, (error, info) => {
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});
  1. Mailgun: Mailgun — популярный поставщик услуг электронной почты, предлагающий библиотеку Node.js для отправки электронных писем. Он предоставляет такие функции, как отслеживание электронной почты, аналитику и фильтрацию спама. Чтобы использовать Mailgun, вам необходимо зарегистрировать учетную запись и получить учетные данные API.

Вот пример использования Mailgun для отправки электронного письма:

const mailgun = require('mailgun-js')({
  apiKey: 'your-api-key',
  domain: 'your-domain.com'
});
const data = {
  from: 'your-email@your-domain.com',
  to: 'recipient-email@example.com',
  subject: 'Hello from Node.js',
  text: 'This is the body of the email'
};
mailgun.messages().send(data, (error, body) => {
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + body.message);
  }
});
  1. SendGrid: SendGrid — еще один популярный поставщик услуг электронной почты, предлагающий библиотеку Node.js для отправки электронных писем. Он предоставляет такие функции, как шаблоны электронной почты, отслеживание и аналитику. Как и в случае с Mailgun, для использования SendGrid вам необходимо создать учетную запись и получить учетные данные API.

Вот пример использования SendGrid для отправки электронного письма:

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey('your-api-key');
const msg = {
  to: 'recipient-email@example.com',
  from: 'your-email@your-domain.com',
  subject: 'Hello from Node.js',
  text: 'This is the body of the email'
};
sgMail.send(msg)
  .then(() => {
    console.log('Email sent');
  })
  .catch((error) => {
    console.error(error);
  });

Эти методы помогут вам начать отправлять электронные письма с помощью Node.js. Не забудьте заменить значения-заполнители своими учетными данными электронной почты и данными получателя.