Отправка электронной почты с помощью Nodemailer на TypeScript: подробное руководство

В современном цифровом мире отправка электронной почты является неотъемлемой частью многих веб-приложений. Будь то регистрация пользователя, сброс пароля или отправка информационных бюллетеней, наличие надежной службы электронной почты имеет решающее значение. Nodemailer — популярный пакет npm, который упрощает процесс отправки электронной почты в приложениях Node.js. В этой статье мы рассмотрим различные методы использования Nodemailer в TypeScript для простой отправки электронных писем.

Метод 1: настройка Nodemailer
Для начала нам нужно установить пакет Nodemailer в наш проект TypeScript. Откройте терминал и выполните следующую команду:

npm install nodemailer

После установки мы можем импортировать Nodemailer в наш проект и создать объект-транспортер для установления соединения с поставщиком услуг электронной почты.

import nodemailer from 'nodemailer';
// Create a transporter
const transporter = nodemailer.createTransport({
  service: 'Gmail',
  auth: {
    user: 'your-email@gmail.com',
    pass: 'your-password'
  }
});

Метод 2: отправка обычного электронного письма
Теперь, когда у нас настроен транспортер, давайте отправим базовое электронное письмо. Мы укажем отправителя, получателя, тему и текстовое содержание письма.

// Send a basic email
transporter.sendMail({
  from: 'your-email@gmail.com',
  to: 'recipient-email@example.com',
  subject: 'Hello from Nodemailer',
  text: 'This is a test email sent using Nodemailer in TypeScript.'
}, (error, info) => {
  if (error) {
    console.error('Error:', error);
  } else {
    console.log('Email sent:', info.response);
  }
});

Метод 3: отправка электронной почты в формате HTML
Nodemailer также позволяет нам отправлять электронные письма с содержимым HTML. Это полезно для создания визуально привлекательных электронных писем с форматированием и изображениями.

// Send an HTML email
transporter.sendMail({
  from: 'your-email@gmail.com',
  to: 'recipient-email@example.com',
  subject: 'HTML Email from Nodemailer',
  html: '<h1>Hello!</h1><p>This is an HTML email sent using Nodemailer in TypeScript.</p>'
}, (error, info) => {
  if (error) {
    console.error('Error:', error);
  } else {
    console.log('Email sent:', info.response);
  }
});

Метод 4: отправка электронного письма с вложениями
Nodemailer позволяет нам прикреплять файлы к нашим электронным письмам. Это полезно для отправки документов, изображений или файлов любого другого типа.

// Send an email with attachments
transporter.sendMail({
  from: 'your-email@gmail.com',
  to: 'recipient-email@example.com',
  subject: 'Email with Attachments',
  text: 'Please find the attached file.',
  attachments: [
    {
      filename: 'document.pdf',
      path: '/path/to/document.pdf'
    },
    {
      filename: 'image.jpg',
      path: '/path/to/image.jpg'
    }
  ]
}, (error, info) => {
  if (error) {
    console.error('Error:', error);
  } else {
    console.log('Email sent:', info.response);
  }
});

Nodemailer — фантастический инструмент для отправки электронных писем в проектах TypeScript. В этой статье мы рассмотрели основы настройки Nodemailer и изучили различные методы отправки основных электронных писем, электронных писем в формате HTML и электронных писем с вложениями. Используя возможности Nodemailer, вы можете легко включить функции электронной почты в свои веб-приложения. Начните использовать Nodemailer сегодня и усовершенствуйте свой пользовательский опыт благодаря удобному общению по электронной почте!