Enviar correo con FastAPI (Python)

Envía correos dentro de FastAPI con el SDK Python de Publiq (sin dependencias externas).

Instala con pip install publiq y define PUBLIQ_API_KEY:

from fastapi import FastAPI
from publiq import Publiq

app = FastAPI()
publiq = Publiq()

@app.post("/send")
def send(to: str):
    email = publiq.emails.send({
        "from": "you@yourdomain.com",
        "to": to,
        "templateKey": "welcome-email",
        "variables": {"first_name": "Ana"},
    })
    return {"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 templateKey sobre 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.

Ver también

Enviar correo con FastAPI (Python) — Publiq Docs