دریافت جزئیات پیام

این صفحه نحوه بازیابی جزئیات یک پیام قرنطینه‌شده را بااستفاده از روش 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'])

مراحل بعدی