Ejemplo de código de envío de correos electrónicos de React en 2024

Envíe correos electrónicos de la aplicación web React con plantillas HTML, CSS y JSX, ejemplos e integración SMTP lista para producción.

Instalación y requisitos

Necesitarás instalar @react-email/render y nodemailer dependencias npm:

npm install @react-email/render nodemailer

Código fuente y ejemplo

Cree su plantilla de correo electrónico con un .jsx o un .js archivo:

// 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> ); }

En este ejemplo, usamos el Nodemailer biblioteca y su patrocinador oficial Redirigir correo para enviar y obtener una vista previa del correo saliente.

Necesitaras Generar contraseña para enviar correo saliente, siga nuestro Enviar correo electrónico con la guía SMTP de dominio personalizado.

// 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);

Ejecute la aplicación para enviar el correo electrónico:

node app

Ahora puedes ir a Mi cuenta → Correos electrónicos para ver su estado de entrega de correo electrónico en tiempo real, registros de capacidad de entrega de correo electrónico y vistas previas de HTML/texto sin formato/adjuntos.

PD 🎉 También puedes obtener una vista previa de los correos electrónicos en los navegadores y el simulador de iOS y crear plantillas de correo electrónico con Node.js.