Надіслати приклад коду електронної пошти React у 2025

Надсилайте електронні листи веб-застосунку React із шаблонами HTML, CSS та JSX, прикладами та інтеграцією SMTP, готовою до роботи.

Встановлення та вимоги

Вам потрібно буде встановити 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}>Visit our website</Button>
    </Html>
  );
}

У цьому прикладі ми використовуємо бібліотеку Nodemailer та її офіційного спонсора Переслати електронний лист для надсилання та попереднього перегляду вихідної пошти.

Вам потрібно буде Згенерувати пароль, щоб надсилати вихідну пошту – будь ласка, дотримуйтесь наших інструкцій Посібник з надсилання електронної пошти за допомогою 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: replace `user` and `pass` values from:
    // <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.