Send React Emails - Tutorial 2026

Отправляйте электронные письма веб-приложения React с шаблонами HTML, CSS и JSX, примерами и готовой к использованию интеграцией SMTP.

React email templates illustration

Установка и требования

Вам нужно установить npm-зависимости @react-email/render и nodemailer:

npm install @react-email/render nodemailer

Исходный код и пример

Создайте шаблон письма в файле с расширением .jsx или .js:

// email.jsx
import * as React from 'react';
import { Html } from '@react-email/html';
import { Button } from '@react-email/button';

export function Email(props) {
  const { url } = props;

  return (
    <Html lang="en">
      <Button href={url}>Посетите наш сайт</Button>
    </Html>
  );
}

В этом примере мы используем библиотеку Nodemailer и её официального спонсора Forward Email для отправки и предварительного просмотра исходящих писем.

Вам нужно Сгенерировать пароль для отправки исходящих писем – пожалуйста, следуйте нашему руководству по отправке писем через SMTP с пользовательским доменом.

// app.js
import { render } from '@react-email/render';
import nodemailer from 'nodemailer';
import { Email } from './email';

const transporter = nodemailer.createTransport({
  host: 'smtp.forwardemail.net',
  port: 465,
  secure: true,
  auth: {
    // TODO: замените значения `user` и `pass` из:
    // <https://forwardemail.net/guides/send-email-with-custom-domain-smtp>
    user: 'you@example.com',
    pass: '****************************'
  },
});

const html = render(Email({ url: "https://example.com" }));

const options = {
  from: 'you@example.com',
  to: 'user@gmail.com',
  subject: 'hello world',
  html
};

transporter.sendMail(options);

Запустите приложение для отправки письма:

node app

Теперь вы можете перейти в Мой аккаунт → Письма, чтобы увидеть статус доставки писем в реальном времени, логи доставляемости и предварительный просмотр HTML/текста/вложений.

P.S. 🎉 Вы также можете просматривать письма в браузерах и iOS-симуляторе и создавать шаблоны писем с Node.js.