En esta página, se explica cómo recuperar los detalles de un solo mensaje en cuarentena
con el método
get
del recurso
customers.quarantinedMessages
en la API de Mail Admin Quarantine. Úsala para inspeccionar los encabezados, el asunto, el cuerpo y los archivos adjuntos de un mensaje antes de decidir si lo liberas o lo rechazas.
Requisitos previos
- Completaste los pasos que se indican en Configura la API.
- Un token de acceso que suplanta la identidad de un administrador con un privilegio de cuarentena de administrador y que incluye el permiso
https://www.googleapis.com/auth/gmail.admin.quarantineohttps://www.googleapis.com/auth/gmail.admin.quarantine.readonly. Consulta Autoriza con la delegación de todo el dominio. - Es el nombre del recurso de un mensaje en cuarentena, que obtienes de Enumera y busca mensajes en cuarentena.
Cómo obtener un mensaje en cuarentena
Para obtener un mensaje en cuarentena, envía una solicitud GET al método
get
en el nombre del recurso del mensaje y elige la cantidad de contenido que se devolverá
con el parámetro de consulta view:
GET https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID?view=MESSAGE_VIEW_DETAILS
Authorization: Bearer ACCESS_TOKEN
Reemplaza lo siguiente:
- CUSTOMER_ID: Es tu ID de cliente.
- MESSAGE_OWNER: Es la dirección de correo electrónico del propietario del buzón de correo, como
se muestra en el campo
messageOwner. - MESSAGE_ID: Es el ID del mensaje de Gmail, como se muestra en
el campo
messageId.
Para encontrar estos valores, llama al método
list
o
search
del recurso customers.quarantinedMessages. Puedes pasar el campo name
de una respuesta list o search directamente como la ruta de solicitud, por
ejemplo,
https://mailadminquarantine.googleapis.com/v1/customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0.
Vistas de mensaje
El parámetro de consulta view determina qué campos incluye la respuesta:
| Ver | Campos mostrados |
|---|---|
MESSAGE_VIEW_BASIC (predeterminada) |
Solo metadatos de cuarentena: name, messageId, messageOwner, quarantines, receiveTime, direction, state, retentionExpireTime y triggeredRules. |
MESSAGE_VIEW_DETAILS |
name, messageId, messageOwner y el objeto content analizado con subject, body, headers, attachments, labels y classificationLabelValues. |
MESSAGE_VIEW_RAW |
name, messageId, messageOwner y rawMessage, el mensaje completo en formato RFC 2822 como una cadena codificada en base64url. |
Si omites view, la API devuelve la vista básica. Un valor de vista no reconocido
devuelve un error 400 INVALID_ARGUMENT.
Ejemplo de respuesta
En la siguiente respuesta, se usa view=MESSAGE_VIEW_DETAILS:
{
"name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
"messageId": "18d3ef45a8b2c1d0",
"messageOwner": "user@example.com",
"content": {
"subject": "Urgent: Verify your account details",
"body": "Please click the link below to verify your login credentials...",
"headers": [
{"name": "From", "value": "security-alert@external.example.net"},
{"name": "To", "value": "user@example.com"},
{"name": "Date", "value": "Tue, 22 Sep 2026 10:15:00 +0000"},
{"name": "Subject", "value": "Urgent: Verify your account details"}
],
"attachments": [
{
"filename": "invoice_update.pdf",
"mimeType": "application/pdf",
"sizeBytes": "142857",
"attachmentId": "att_987654321"
}
],
"labels": ["^admin_quarantine"]
}
}
En la siguiente tabla, se muestran los campos de contenido de una respuesta:
| Campo | Descripción |
|---|---|
content.subject |
Es el asunto del mensaje. |
content.body |
Es el cuerpo o el fragmento de texto sin formato del mensaje. |
content.headers[] |
Son los encabezados del mensaje, con valores decodificados con MIME. |
content.attachments[] |
El nombre de archivo, el tipo de MIME, el tamaño en bytes y el ID de cada archivo adjunto. |
content.labels[] |
Son las etiquetas estándar de Gmail que se aplican al mensaje. |
content.classificationLabelValues[] |
Las etiquetas de clasificación aplicadas al mensaje, si las hay. |
Decodifica un mensaje sin procesar
Con view=MESSAGE_VIEW_RAW, el campo rawMessage contiene el mensaje completo
en formato RFC 2822,
codificado como una cadena base64url. Decodifícalo para analizar el mensaje con herramientas de correo electrónico estándar, por ejemplo:
import base64
import email
raw_message = response.json()['rawMessage']
mime_message = email.message_from_bytes(base64.urlsafe_b64decode(raw_message))
print(mime_message['Subject'])