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

Введение в Nodemailer

Nodemailer — очень хороший модуль для разработки Node.js, который упрощает отправку электронных писем.

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

Это единый модуль с нулевыми зависимостями, безопасный, с поддержкой эмодзи 😎 и поддержкой конфигураций SMTP-сервера.

Требования

Node.js v6.0.0 или более новые версии

Если у вас еще нет проекта Node.js, вы можете ознакомиться с другими моими руководствами, чтобы начать прямо сейчас. Вот полное руководство для начинающих по Node.js (Express), где вы можете ознакомиться с основами.



Отправить письма

Что нам нужно сделать, чтобы отправлять электронные письма в очень простых шагах

  • Установить Nodemailer
  • Создайте транспортер Nodemailer, используя либо SMTP, либо другие транспортные механизмы.
  • Создать параметры электронной почты (что отправить, кому отправить, кому отправить)
  • Отправка электронной почты с использованием метода sendMail, созданного в транспортере Nodemailer

Пример

Создание примера транспортера Nodemailer

const transporter = Nodemailer.createTransport({
  host: 'smtp.ethereal.email',
  port: 587,
  secure: false,
  requireTLS: true,
  auth: {
    user: 'ethereal.username',
    pass: 'ethereal.password',
  },
  logger: true
});

Пример отправки электронной почты

// send mail with defined transport object
let info = await transporter.sendMail({
  from: '"Fred Foo 👻" <[email protected]>', // sender address
  to: "[email protected], [email protected]", // list of receivers
  subject: "Hello ✔", // Subject line
  text: "Hello world?", // plain text body
  html: "<b>Hello world?</b>", // html body
});

Тестирование с примерами учетных данных

Чтобы сразу протестировать, мы можем воспользоваться услугой Эфирная электронная почта.

После того, как вы откроете веб-сайт Ethereal, вы можете нажать «Создать учетную запись Ethereal».

Ethereal создаст для вас виртуальную почтовую службу, которую вы сможете сразу же использовать с помощью Nodemailer. Как вы можете видеть на картинке ниже, Ethereal даже создает для вас конфигурацию Nodemailer, которую мы будем использовать в нашем примере.

После создания учетной записи Ethereal мы можем обновить имеющийся пример кода и начать тестирование сервисов Ethereal.

Полный пример

Вот пример приложения Express с TypeScript для использования Nodemailer. Всякий раз, когда пользователь нажимает / маршрут, мы отправляем электронное письмо через Ethereal.

Это все, что требуется для отправки электронной почты через Node.js. Вы можете создать другие учетные данные SMTP для своей среды и начать отправлять электронные письма ✉️.

Подпишитесь на Medium или GitHub, если вас интересуют более подробные и информативные статьи, подобные этим, в будущее.

Мелих

Дополнительные материалы на plainenglish.io