Enviar e-mail com Next.js (Route Handler)

Envie e-mails no Next.js App Router com uma Route Handler no servidor usando o SDK do Publiq.

A Route Handler roda no servidor — o lugar seguro para a API key. Instale publiq e defina 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 });
}

Boas práticas

  • Chame o Publiq sempre do servidor — nunca exponha a API key no cliente.
  • Crie a instância do cliente uma vez e reutilize-a entre requisições.
  • Prefira templateKey a HTML inline para manter o conteúdo versionado.
  • Trate PubliqError (status/code); o SDK já retenta erros temporários com backoff.
  • Envie de um domínio verificado — veja Domínios.

Veja também

Enviar e-mail com Next.js (Route Handler) — Publiq Docs