Dominios y remitentes de sandbox
Para desarrolladores
Direcciones de prueba para simular cada resultado de entrega, el remitente sandbox de su instancia y en qué se diferencia sandbox de producción.
Diferencias con producción
| Aspecto | Producción | Sandbox |
|---|---|---|
| Dominio del destinatario | Cualquier dominio público | Un dominio *.sandbox |
| Entrega | Llega al servidor de correo del destinatario | Se simula |
| Reportes | Se cuentan | Se cuentan. "Solo envíos reales" (send_types=real) los excluye. |
Dominios y prefijos de prueba
Estos destinatarios sirven para validar el mapeo a los códigos de estado (5=deferred, 6=bounced, blando o duro) y el procesamiento de rebotes asincrónicos (DSN).
| Dominio | Resultado |
|---|---|
error.sandbox | Hard bounce 5.1.1. |
deferred.sandbox | Queda en deferred 25 min, sin reintentos, y después rebota. |
mailcatcher.sandbox | Entrega silenciosa. Termina en sent, sin aperturas. |
inbox.sandbox | El prefijo de la dirección define el resultado: ok. (entrega), unknown. (hard bounce) y los soft bounce mailbox-full. (mailboxfull), size. (emailtoolarge), spam. (spamdetected), rbl. (blocked) y policy. (securityerror). |
blackhole.sandbox | El mensaje se acepta y se descarta. Termina en sent, sin aperturas ni almacenamiento. Es el indicado para pruebas de volumen. |
hotmail.sandbox | DSN con el formato de Hotmail. El resultado depende del prefijo, como en inbox.sandbox. |
gmail.sandbox | Responde con los mismos DSN genéricos que inbox.sandbox. |
Ejemplos de uso en integración
To: [email protected] → entrega + apertura + click (simulados)
To: [email protected] → soft bounce: rechazo 550 5.7.0 al cierre del DATA → bounced (securityerror)
To: [email protected] → hard bounce inmediato (550 user unknown)
To: [email protected] → soft bounce (552 mailbox full, mensaje con formato de Hotmail)
To: [email protected] → soft bounce por tamaño (552 5.3.4 → emailtoolarge)
To: [email protected] → aceptado y descartado (sent, sin aperturas)
Remitente sandbox
Cada instancia nueva recibe un remitente sandbox ya verificado, que no necesita dar de alta:
noreply@<slug>.<dc>.sandbox.test
<slug> es el identificador corto de su instancia y <dc>, el código de su centro de datos. Para la instancia acme en cl2, el remitente es [email protected]. Lo encuentra en el listado de remitentes.
Ejemplo: enviar con swaks de remitente sandbox a destinatario sandbox
swaks --to [email protected] \
--from [email protected] \
--server cl2relay.fidelizador.com:587 \
--tls --auth -au "<smtp-user>" -ap "<smtp-pass>" \
--header "Subject: Hola desde sandbox"
Remitente sandbox: solo a destinatarios sandbox
Si el remitente es sandbox (<...>.sandbox.test), el destinatario debe ser también sandbox (*.sandbox). Cualquier mezcla con un destinatario real se rechaza:
API (POST /v1/mails/send) | SMTP |
|---|---|
HTTP 409 Conflict con mensaje "Sandbox sender cannot relay to non-sandbox recipients" | Rechazo en RCPT TO con 550 5.7.1 Sandbox sender cannot relay to non-sandbox recipients |
La regla aplica en un solo sentido. Un remitente real sí puede enviar a *.sandbox, y el envío se simula igual. En los reportes, esos envíos cuentan como reales.