Получить сведения о сообщении

На этой странице рассказывается, как получить сведения об одном помещенном в карантин письме с помощью метода get ресурса customers.quarantinedMessages в Mail Admin Quarantine API. Используйте его, чтобы проверить заголовки, тему, текст и прикрепленные файлы письма, прежде чем решить, что с ним делать.

Требования

Как получить сообщение, помещенное в карантин

Чтобы получить помещенное в карантин письмо, отправьте запрос GET к методу get, указав название ресурса письма, и выберите, сколько контента нужно вернуть, с помощью параметра запроса view:

GET https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID?view=MESSAGE_VIEW_DETAILS
Authorization: Bearer ACCESS_TOKEN

Замените следующее:

  • CUSTOMER_ID – ваш идентификатор клиента.
  • MESSAGE_OWNER – адрес электронной почты владельца почтового ящика, возвращаемый в поле messageOwner.
  • MESSAGE_ID – идентификатор сообщения Gmail, возвращаемый в поле messageId.

Чтобы найти эти значения, вызовите метод list или search ресурса customers.quarantinedMessages. Вы можете передать поле name из ответа list или search непосредственно в качестве пути запроса, например https://mailadminquarantine.googleapis.com/v1/customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0.

Просмотры

Параметр запроса view определяет, какие поля будут включены в ответ.

Открыть Возвращаемые поля
MESSAGE_VIEW_BASIC (по умолчанию) Только метаданные карантина: name, messageId, messageOwner, quarantines, receiveTime, direction, state, retentionExpireTime и triggeredRules.
MESSAGE_VIEW_DETAILS name, messageId, messageOwner и обработанный объект content с subject, body, headers, attachments, labels и classificationLabelValues.
MESSAGE_VIEW_RAW name, messageId, messageOwner и rawMessage – все сообщение в формате RFC 2822 в виде строки в кодировке base64url.

Если вы не укажете view, API вернет базовое представление. Если указать неверное значение, возвращается ошибка 400 INVALID_ARGUMENT.

Пример ответа

В следующем ответе используется 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"]
  }
}

В таблице ниже приведены поля контента в ответе.

Поле Описание
content.subject Тема сообщения.
content.body Текст или фрагмент сообщения в формате обычного текста.
content.headers[] Заголовки сообщений со значениями, декодированными по стандарту MIME.
content.attachments[] Название файла, MIME-тип, размер в байтах и идентификатор каждого прикрепленного файла.
content.labels[] Стандартные ярлыки Gmail, примененные к письму.
content.classificationLabelValues[] Ярлыки классификации, примененные к письму (если есть).

Как декодировать необработанное сообщение

При использовании view=MESSAGE_VIEW_RAW поле rawMessage содержит полное сообщение в формате RFC 2822, закодированное как строка base64url. Расшифруйте его, чтобы проанализировать сообщение с помощью стандартных инструментов электронной почты, например:

import base64
import email

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

Дальнейшие действия