Saltar al contenido principal

Dominios y remitentes 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​

AspectoProducciónSandbox
Dominio del destinatarioCualquier dominio públicoUn dominio *.sandbox
EntregaLlega al servidor de correo del destinatarioSe simula
ReportesSe cuentanSe cuentan en el tipo de envío «Pruebas y sandbox» (send_types=test_sandbox).

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).

DominioResultado
error.sandboxHard bounce 5.1.1.
deferred.sandboxQueda en deferred 25 min, sin reintentos, y después rebota.
mailcatcher.sandboxEntrega silenciosa. Termina en sent, sin aperturas.
inbox.sandboxEl 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.sandboxEl mensaje se acepta y se descarta. Termina en sent, sin aperturas ni almacenamiento. Es el indicado para pruebas de volumen.
hotmail.sandboxDSN con el formato de Hotmail. El resultado depende del prefijo, como en inbox.sandbox.
gmail.sandboxResponde con los mismos DSN genéricos que inbox.sandbox.

Ejemplos de uso en integración​

To: ok.user1@inbox.sandbox → entrega + apertura + click (simulados)
To: policy.user2@inbox.sandbox → soft bounce: rechazo 550 5.7.0 al cierre del DATA → bounced (securityerror)
To: unknown.user3@inbox.sandbox → hard bounce inmediato (550 user unknown)
To: mailbox-full.user4@hotmail.sandbox → soft bounce (552 mailbox full, mensaje con formato de Hotmail)
To: size.user5@inbox.sandbox → soft bounce por tamaño (552 5.3.4 → emailtoolarge)
To: ok.user6@blackhole.sandbox → aceptado y descartado (sent, sin aperturas)

Remitente sandbox​

Cada instancia nueva recibe un remitente de pruebas (sandbox) ya verificado, que no necesita dar de alta:

noreply@<slug>.<dc>.sandbox.test

<slug> es el identificador corto de su instancia, con cada guion bajo (_) cambiado por un guion medio (-), y <dc>, el código de su centro de datos. Para la instancia acme en cl2, el remitente es noreply@acme.cl2.sandbox.test. Lo encuentra en el listado de remitentes.

Para probar los envíos masivos, la instancia recibe también un remitente sandbox masivo en el mismo dominio:

bulk@<slug>.<dc>.sandbox.test

Cada remitente envía solo por el canal de su tipo: noreply@ por POST /v1/mails/send y SMTP, y bulk@ por POST /v1/mails/send_bulk. Los remitentes sandbox no cuentan en el cupo de remitentes de su plan, y el dominio sandbox no cuenta en el de dominios.

Ejemplo: enviar con swaks de remitente sandbox a destinatario sandbox​

swaks --to alice@inbox.sandbox \
--from noreply@acme.cl2.sandbox.test \
--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 y POST /v1/mails/send_bulk)SMTP
HTTP 409 Conflict con mensaje "Sandbox sender cannot relay to non-sandbox recipients". En un lote, el texto del error lleva delante la posición del correo rechazado (/messages/{i}: ) y no se envía ningún correo del loteRechazo 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 masivos o transaccionales, según su remitente.