Dominios de envío.
Registra el dominio desde el que envías, publica el registro TXT de challenge y verifícalo antes de usarlo en el From.
- 01por qué
Control del remitente
Cuando un tenant tiene al menos un dominio verificado, el campo From de cada mensaje debe coincidir con un dominio verificado. Si no, la API responde domain_not_verified y el mensaje no entra a la cadena de evidencia.
pendingverifieddomain_not_verified - 02POST /v1/domains
Registrar el dominio
Crea el dominio en estado pending. La respuesta incluye el token de verificación y pistas DNS (challenge_host, challenge_value, dkim_host, spf_hint).
POST /v1/domains curl -s -X POST "$MAILACK_API_URL/v1/domains" \ -H "Authorization: Bearer $MAILACK_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"mail.acme.mx"}' | jq . - 03DNS
Publicar el challenge TXT
En la zona DNS del dominio, publica un registro TXT en challenge_host con el valor challenge_value. Propaga el registro y espera a que sea visible desde Internet.
tipoTXThostchallenge_host (respuesta de create)valorchallenge_valueTambién puedes hacerlo desde el portal del cliente: Dominios → crear → copiar registros → Verificar.
- 04POST /v1/domains/{id}/verify
Verificar
mailack consulta DNS y, si el TXT coincide, marca el dominio como verified. Puedes reintentar si la propagación aún no ha terminado.
POST /v1/domains/{id}/verify curl -s -X POST "$MAILACK_API_URL/v1/domains/$DOMAIN_ID/verify" \ -H "Authorization: Bearer $MAILACK_API_KEY" | jq . - 05scopes
Autenticación
Las rutas machine usan API key Bearer. Crear y verificar requieren messages:send; listar requiere evidence:read. Equivalentes de portal: /v1/portal/domains.
messages:sendevidence:read
Siguiente: webhooks
Cuando el dominio esté verificado, conecta endpoints HTTPS para recibir el lifecycle del mensaje.