Enviar correo con Next.js (Route Handler)
Envía correos en el Next.js App Router con una Route Handler de servidor usando el SDK de Publiq.
La Route Handler corre en el servidor — el lugar seguro para la API key. Instala publiq y define PUBLIQ_API_KEY.
import { Publiq } from 'publiq';
import { NextResponse } from 'next/server';
const publiq = new Publiq(process.env.PUBLIQ_API_KEY);
export async function POST(req: Request) {
const { to } = await req.json();
const email = await publiq.emails.send({
from: 'you@yourdomain.com',
to,
subject: 'Welcome to Acme',
templateKey: 'welcome-email',
variables: { first_name: 'Ana' },
});
return NextResponse.json({ id: email.id });
}Buenas prácticas
- Llama a Publiq siempre desde el servidor — nunca expongas la API key en el cliente.
- Crea la instancia del cliente una vez y reutilízala entre peticiones.
- Prefiere
templateKeysobre HTML inline para mantener el contenido versionado. - Maneja
PubliqError(status/code); el SDK ya reintenta errores transitorios con backoff. - Envía desde un dominio verificado — ver Dominios.