Cómo enviar correos con Elixir / Phoenix

Envía correos desde Elixir/Phoenix con la librería `Req`.

No hay SDK oficial — llama a la API REST de Publiq con el cliente HTTP del lenguaje, desde el servidor, con la API key en el header Authorization.

defmodule MyApp.Publiq do
  def send_welcome(email) do
    Req.post!("https://api.publiq.digital/v1/emails",
      headers: [{"authorization", "Bearer #{System.get_env("PUBLIQ_API_KEY")}"}],
      json: %{
        from: "you@yourdomain.com",
        to: email,
        templateKey: "welcome-email",
        variables: %{first_name: "Ana"}
      }
    )
  end
end

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

Cómo enviar correos con Elixir / Phoenix — Publiq Docs