Cómo enviar correos con SvelteKit
En SvelteKit, usa un endpoint `+server.ts` (o una form action) para enviar desde el servidor. Lee la clave vía `$env/static/private`.
Instala el SDK (npm install publiq) y define PUBLIQ_API_KEY en el entorno del servidor. El código de abajo corre en el servidor — la API key nunca llega al cliente.
import { json } from '@sveltejs/kit';
import { Publiq } from 'publiq';
import { PUBLIQ_API_KEY } from '$env/static/private';
const publiq = new Publiq(PUBLIQ_API_KEY);
export async function POST({ request }) {
const { to } = await request.json();
const email = await publiq.emails.send({
from: 'you@yourdomain.com',
to,
templateKey: 'welcome-email',
});
return 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.