Mostrar detalhes da mensagem

Nesta página, explicamos como recuperar os detalhes de uma única mensagem em quarentena com o método get do recurso customers.quarantinedMessages na API Mail Admin Quarantine. Use-o para inspecionar os cabeçalhos, o assunto, o corpo e os anexos de uma mensagem antes de decidir se ela será liberada ou recusada.

Pré-requisitos

Receber uma mensagem em quarentena

Para receber uma mensagem em quarentena, envie uma solicitação GET para o método get no nome do recurso da mensagem e escolha quanto conteúdo retornar com o 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

Substitua:

  • CUSTOMER_ID: seu ID de cliente.
  • MESSAGE_OWNER: o endereço de e-mail do proprietário da caixa de correio, conforme retornado no campo messageOwner.
  • MESSAGE_ID: o ID da mensagem do Gmail, conforme retornado no campo messageId.

Para encontrar esses valores, chame o método list ou search do recurso customers.quarantinedMessages. É possível transmitir o campo name de uma resposta list ou search diretamente como o caminho da solicitação, por exemplo, https://mailadminquarantine.googleapis.com/v1/customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0.

Visualizações de mensagem

O parâmetro de consulta view determina quais campos a resposta inclui:

Ver Campos retornados
MESSAGE_VIEW_BASIC (padrão) Somente metadados de quarentena: name, messageId, messageOwner, quarantines, receiveTime, direction, state, retentionExpireTime e triggeredRules.
MESSAGE_VIEW_DETAILS name, messageId, messageOwner e o objeto content analisado com subject, body, headers, attachments, labels e classificationLabelValues.
MESSAGE_VIEW_RAW name, messageId, messageOwner e rawMessage, a mensagem inteira no formato RFC 2822 como uma string codificada em base64url.

Se você omitir view, a API vai retornar a visualização básica. Um valor de visualização não reconhecido retorna um erro 400 INVALID_ARGUMENT.

Exemplo de resposta

A resposta a seguir 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"]
  }
}

A tabela a seguir mostra os campos de conteúdo de uma resposta:

Campo Descrição
content.subject O assunto da mensagem.
content.body O corpo ou snippet de texto simples da mensagem.
content.headers[] Os cabeçalhos da mensagem, com valores decodificados por MIME.
content.attachments[] O nome do arquivo, o tipo MIME, o tamanho em bytes e o ID de cada anexo.
content.labels[] Marcadores padrão do Gmail aplicados à mensagem.
content.classificationLabelValues[] Marcadores de classificação aplicados à mensagem, se houver.

Decodificar uma mensagem bruta

Com view=MESSAGE_VIEW_RAW, o campo rawMessage contém a mensagem completa no formato RFC 2822, codificada como uma string base64url. Decodifique-a para analisar a mensagem com ferramentas de e-mail padrão, por exemplo:

import base64
import email

raw_message = response.json()['rawMessage']
mime_message = email.message_from_bytes(base64.urlsafe_b64decode(raw_message))
print(mime_message['Subject'])

Próximas etapas