Recuperar un mensaje
Un mensaje con su cuerpo. Recuperarlo es lo que lo marca como visto.
Ejecuta la llamada real contra tu espacio de trabajo, con tu propia clave.
GET /temp-mail/inboxes/{id}/messages/{messageId}
Un mensaje con su cuerpo. Recuperarlo es lo que lo marca como visto.
El token del buzón
export OE=https://api.openemail.ukexport INBOX="Authorization: Bearer oe_inbox_kQ8v…"Cada llamada de aquí abajo lleva el token que devolvió POST /temp-mail/inboxes, en la misma cabecera Authorization: Bearer que usa una API key. La dirección en sí no autoriza nada, y esa separación es el sentido de la función y no una formalidad: una dirección desechable se entrega a la parte que mantienes a distancia en el mismo momento en que se emite.
El id de la ruta tiene que nombrar el mismo buzón que el token. El token por sí solo ya identifica uno, así que esto es doble seguridad, pero implica que quien confunda dos buzones recibe un 404 en lugar de leer en silencio el correo equivocado.
Ejemplo
Primero se busca la fila, acotada al buzón, y después el cuerpo. Ir directamente al almacenamiento con un id suministrado por quien llama permitiría que cualquiera con un id de mensaje leyera cualquier buzón, porque una clave de almacenamiento no es un permiso.
curl "$OE/temp-mail/inboxes/tinb_9c2f41ab7d3e4c118a0f5d72/messages/tmail_4b81c07d2fa9418e93c6a13f" \ -H "$INBOX"{ "object": "temp_message", "id": "tmail_4b81c07d2fa9418e93c6a13f", "from": { "name": "Acme", "email": "[email protected]" }, "to": "[email protected]", "subject": "Confirm your email", "snippet": "Your code is 481923…", "spam": false, "seen": true, "attachmentCount": 1, "sizeBytes": 8241, "receivedAt": "2026-09-01T10:31:04.000Z", "message": { "decodedBody": "<p>Your code is 481923</p>", "…": "…" }, "truncated": false}Renderiza message.decodedBody. body y processedHtml son cadenas vacías en un mensaje ingerido localmente, que es todo mensaje capaz de llegar a un buzón desechable. Leer cualquiera de esos dos y no encontrar nada es el error que esta nota existe para evitar.
message es el mismo objeto que guarda el buzón real, pasado tal cual sin proyección: la forma ES el esquema de almacenamiento, y una lista de campos escrita a mano aquí sería una segunda descripción que se quedaría obsoleta. También es HTML suministrado por un atacante, así que renderízalo fuera de tu propio origen.
truncated significa que el cuerpo se cortó en 2 MB. Por lo demás el mensaje está intacto; no se descartó nada.
Una fila cuyo cuerpo almacenado ya ha sido barrido responde 404 con "ese mensaje ya se ha eliminado" en lugar de fallar tres capas más adelante al parsear.