メッセージの詳細を取得する

このページでは、Mail Admin Quarantine API の customers.quarantinedMessages リソースの get メソッドを使用して、検疫された 1 つのメールの詳細を取得する方法について説明します。この機能を使用すると、メッセージのヘッダー、件名、本文、添付ファイルを確認してから、メッセージを配信するか拒否するかを決定できます。

前提条件

検疫済みメッセージを取得する

検疫されたメッセージを取得するには、メッセージのリソース名で 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: 実際のお客様 ID。
  • MESSAGE_OWNER: messageOwner フィールドで返されるメールボックス所有者のメールアドレス。
  • MESSAGE_ID: messageId フィールドで返される Gmail メッセージ ID。

これらの値を確認するには、customers.quarantinedMessages リソースの list メソッドまたは search メソッドを呼び出します。list または search レスポンスの name フィールドをリクエストパスとして直接渡すことができます(例: 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、および subject、body、headers、attachments、labels、classificationLabelValues を含む解析済みの content オブジェクト。
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 タイプ、サイズ(バイト単位)、ID。
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'])

次のステップ