取得訊息詳細資料

本頁面說明如何使用 Mail Admin Quarantine API 中 customers.quarantinedMessages 資源的 get 方法,擷取單一隔離郵件的詳細資料。您可以使用這項功能檢查郵件的標頭、主旨、內文和附件,再決定要放行或拒絕。

必要條件

  • 您已完成「設定 API」中的步驟。
  • 存取權杖,可模擬具備管理員隔離權限的管理員,並包含 https://www.googleapis.com/auth/gmail.admin.quarantine 或 https://www.googleapis.com/auth/gmail.admin.quarantine.readonly 範圍。請參閱「使用全網域委派功能進行授權」。
  • 隔離郵件的資源名稱,可從「列出及搜尋隔離郵件」取得。

取得隔離郵件

如要取得隔離郵件,請向郵件資源名稱上的 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:Gmail 郵件 ID,在 messageId 欄位中傳回。

如要找出這些值,請呼叫 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,以及剖析後的 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 類型、大小 (以位元組為單位) 和 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'])

後續步驟