Przykład kodu wysyłania wiadomości e-mail React w 2025
Wysyłaj wiadomości e-mail w aplikacji internetowej React, korzystając z szablonów HTML, CSS i JSX, przykładów oraz integracji SMTP gotowej do produkcji.

Instalacja i wymagania
Będziesz musiał zainstalować zależności npm @react-email/render
i nodemailer
:
npm install @react-email/render nodemailer
Kod źródłowy i przykład
Utwórz szablon wiadomości e-mail przy użyciu pliku .jsx
lub .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>
);
}
W tym przykładzie używamy biblioteki Nodemailer i jej oficjalnego sponsora Przekaż dalej e-mail do wysyłania i podglądu poczty wychodzącej.
Aby wysłać pocztę wychodzącą, musisz wygenerować hasło – postępuj zgodnie z instrukcją Przewodnik SMTP po wysyłaniu wiadomości e-mail z niestandardową domeną.
// 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);
Uruchom aplikację, aby wysłać wiadomość e-mail:
node app
Teraz możesz przejść do Moje konto → E-maile, aby zobaczyć status dostarczania wiadomości e-mail w czasie rzeczywistym, dzienniki dostarczalności wiadomości e-mail oraz podglądy w formacie HTML/zwykłego tekstu/załączników.
P.S. 🎉 Możesz również użyć podgląd wiadomości e-mail w przeglądarkach i symulatorze iOS i twórz szablony wiadomości e-mail za pomocą Node.js.