# React Email
> Úsalo al construir plantillas de email en HTML con componentes de React, añadir el editor visual de React Email, renderizar emails a HTML o enviarlos con Resend.
Fuente: https://skillsagentes.com/skills/resend/resend-skills/react-email
Markdown: https://skillsagentes.com/skills/resend/resend-skills/react-email.md
Repositorio: https://github.com/resend/resend-skills
Autor: resend
Licencia: MIT
Actualizado: hace 2 meses
Coste de contexto: 89 tok instalada, 3.6k tok al activarse, 21.7k tok con todos los archivos del bundle
Bundle: 7 archivos, 85 KB
Permisos que pide: ninguno declarado
## Instalación
Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina.
```bash
# Claude Code
npx -y skills add resend/resend-skills --skill react-email --agent claude-code
# Cursor
npx -y skills add resend/resend-skills --skill react-email --agent cursor
# Codex
npx -y skills add resend/resend-skills --skill react-email --agent codex
# Gemini CLI
npx -y skills add resend/resend-skills --skill react-email --agent gemini
# Windsurf
npx -y skills add resend/resend-skills --skill react-email --agent windsurf
# Cline
npx -y skills add resend/resend-skills --skill react-email --agent cline
```
## Qué hace
- Construye plantillas de email en HTML con componentes de React
- Renderiza las plantillas a HTML y las envía con Resend
- Integra el editor visual embebible de React Email en una aplicación
- Cubre componentes esenciales, estilos, archivos estáticos e internacionalización
- Trae patrones habituales: bienvenida, restablecer contraseña, notificaciones, confirmaciones de pedido y newsletters
## Cuándo usarla
- Construir plantillas de email en HTML con componentes de React
- Añadir un editor visual de email a una aplicación
- Renderizar emails a HTML o enviarlos con Resend
## Qué la activa
- "Hazme una plantilla de email de bienvenida con React Email"
- "Renderiza esta plantilla a HTML"
- "Añade el editor visual de emails a mi app"
- "Necesito un email de confirmación de pedido"
## Antes de instalar
- Necesita en el PATH: npm, npx
- Variables de entorno: RESEND_API_KEY
- makes network requests
- needs API credentials
## Archivos
- SKILL.md — 14 KB
- references/COMPONENTS.md — 12 KB
- references/EDITOR.md — 11 KB
- references/I18N.md — 14 KB
- references/PATTERNS.md — 22 KB
- references/SENDING.md — 4 KB
- references/STYLING.md — 8 KB
## SKILL.md
Reproducido tal cual desde resend/resend-skills bajo MIT. Esta sección es el documento original y está en inglés.
# React Email
Build and send HTML emails using React components. A modern, component-based approach to email development that works across all major email clients.
## Installation
```sh
npm i react-email
```
Or scaffold a new project:
```sh
npx create-email@latest
cd react-email-starter
npm install
npm run dev
```
This works with any package manager (npm, yarn, pnpm, bun) — substitute accordingly.
The dev server runs at localhost:3000 with a preview interface for templates in the `emails` folder.
### Adding to an Existing Project
Install the packages and add a script to your `package.json`:
```json
{
"scripts": {
"email": "email dev --dir emails --port 3000"
}
}
```
Make sure the path to the emails folder is relative to the base project directory. Ensure `tsconfig.json` includes proper support for JSX.
## Basic Email Template
Create an email component with proper structure using the Tailwind component for styling:
```tsx
import {
Html,
Head,
Preview,
Body,
Container,
Heading,
Text,
Button,
Tailwind,
pixelBasedPreset
} from 'react-email';
interface WelcomeEmailProps {
name: string;
verificationUrl: string;
}
export default function WelcomeEmail({ name, verificationUrl }: WelcomeEmailProps) {
return (
);
}
```
**How it works:**
- **Development:** `baseURL` is empty, so URL is `/static/logo.png` - served by React Email's dev server
- **Production:** `baseURL` is the CDN domain, so URL is `https://cdn.example.com/static/logo.png`
**Important:** Always ask the user for their production hosting URL. Do not hardcode `localhost:3000`.
## Styling
See [references/STYLING.md](references/STYLING.md) for comprehensive styling documentation including typography, layout patterns, dark mode, and brand consistency.
### Key Rules
- Use `Tailwind` with `pixelBasedPreset` (email clients don't support `rem`). Import `pixelBasedPreset` from `react-email`.
- Never use flexbox or grid — use `Row`/`Column` components or tables for layouts.
- Avoid CSS/Tailwind media queries (`sm:`, `md:`, `lg:`, `xl:`) — limited email client support.
- Never use theme selectors (`dark:`, `light:`) — not supported.
- Never use SVG or WEBP images — warn users about rendering issues.
- Always specify border type (`border-solid`, `border-dashed`, etc.) — email clients don't inherit it.
- For single-side borders, reset others first (`border-none border-l border-solid`).
### Required Classes
| Component | Required Class | Why |
|-----------|---------------|-----|
| `Button` | `box-border` | Prevents padding from overflowing the button width |
| `Hr` / any border | `border-solid` (or `border-dashed`, etc.) | Email clients don't inherit border type |
| Single-side borders | `border-none` + the side | Resets default borders on other sides |
### Structure Notes
- Always define `