Como enviar e-mails com Elixir / Phoenix

Envie e-mails do Elixir/Phoenix com a lib `Req`.

Não há SDK oficial — chame a API REST do Publiq com o cliente HTTP da linguagem, a partir do servidor, com a API key no 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

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

Como enviar e-mails com Elixir / Phoenix — Publiq Docs