本頁面說明如何使用 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'])