API — visão geral

O mxout expõe uma API HTTP para envio de e-mails e verificação de saúde do serviço.

Base

A API escuta no endereço configurado em listen do mxout.json. A porta padrão é 8080.

http://<IP do servidor>:8080

O mxout foi projetado para rodar atrás de um proxy reverso (Traefik, Nginx) em rede privada.

Endpoints

Método Caminho Descrição Auth obrigatória
POST /send Envia um e-mail Sim (se configurada)
GET /health Retorna o status de saúde do serviço Não

Veja a referência completa de cada endpoint:

Autenticação

O mxout usa autenticação por token estático via header X-Auth-Token.

O token é definido pela variável de ambiente MXOUT_AUTH_TOKEN. A comparação é feita em tempo constante para evitar ataques de timing.

Sem token configurado: se MXOUT_AUTH_TOKEN estiver ausente ou vazia, o endpoint /send fica aberto e o serviço registra um aviso na inicialização. Use somente atrás de rede privada com acesso restrito.

Exemplo de header:

X-Auth-Token: {TOKEN}

Formato de erros

Erros de validação retornam JSON com message_id igual a "-":

{
  "message_id": "-",
  "error": "descrição do erro"
}
Código HTTP Situação
400 Campo from inválido, sem domínio ou domínio sem kit DKIM configurado
401 Header X-Auth-Token ausente ou inválido
413 Corpo da requisição acima de 5 MiB

Correlação com o ledger

O campo message_id retornado pelo /send aparece nos eventos de log estruturado (stdout) e no header Message-ID do e-mail entregue. Use-o para rastrear o ciclo de vida de uma mensagem no Ledger.

By Borlot.com.br on 01/06/2026