Mesaj ayrıntılarını alma

Bu sayfada, Mail Admin Quarantine API'deki customers.quarantinedMessages kaynağının get yöntemiyle karantinaya alınmış tek bir iletinin ayrıntılarının nasıl alınacağı açıklanmaktadır. İletiyi serbest bırakmaya veya reddetmeye karar vermeden önce iletinin üstbilgilerini, konusunu, gövdesini ve eklerini incelemek için bu aracı kullanın.

Ön koşullar

  • API'yi ayarlama başlıklı makaledeki adımları tamamlamış olmanız gerekir.
  • Yönetici karantinası ayrıcalığına sahip bir yöneticiyi taklit eden ve https://www.googleapis.com/auth/gmail.admin.quarantine veya https://www.googleapis.com/auth/gmail.admin.quarantine.readonly kapsamını içeren bir erişim jetonu. Alan genelinde yetkiyle yetkilendirme başlıklı makaleyi inceleyin.
  • Karantinaya alınmış bir iletinin, Karantinaya alınmış iletileri listeleme ve arama bölümünden aldığınız kaynak adı.

Karantinaya alınan bir iletiyi alma

Karantinaya alınmış bir iletiyi almak için iletinin kaynak adındaki get yöntemine bir GET isteği gönderin ve view sorgu parametresiyle ne kadar içerik döndürüleceğini seçin:

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

Aşağıdakini değiştirin:

  • CUSTOMER_ID: Müşteri kimliğiniz.
  • MESSAGE_OWNER: messageOwner alanında döndürülen, posta kutusu sahibinin e-posta adresi.
  • MESSAGE_ID: messageId alanında döndürülen Gmail ileti kimliği.

Bu değerleri bulmak için customers.quarantinedMessages kaynağının list veya search yöntemini çağırın. name alanını bir list veya search yanıtından doğrudan istek yolu olarak iletebilirsiniz. Örneğin, https://mailadminquarantine.googleapis.com/v1/customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0.

Mesaj görüntülemeleri

view sorgu parametresi, yanıtın hangi alanları içereceğini belirler:

Göster Döndürülen alanlar
MESSAGE_VIEW_BASIC (varsayılan) Yalnızca karantina meta verileri: name, messageId, messageOwner, quarantines, receiveTime, direction, state, retentionExpireTime ve triggeredRules.
MESSAGE_VIEW_DETAILS name, messageId, messageOwner ve subject, body, headers, attachments, labels ve classificationLabelValues ile ayrıştırılmış content nesnesi.
MESSAGE_VIEW_RAW name, messageId, messageOwner ve rawMessage, base64url ile kodlanmış dize olarak RFC 2822 biçimindeki iletinin tamamı.

view parametresini atlarsanız API, temel görünümü döndürür. Tanınmayan bir görünüm değeri, 400 INVALID_ARGUMENT hatası döndürür.

Örnek yanıt

Aşağıdaki yanıtta view=MESSAGE_VIEW_DETAILS kullanılıyor:

{
  "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"]
  }
}

Aşağıdaki tabloda, yanıtın içerik alanları gösterilmektedir:

Alan Açıklama
content.subject Mesajın konusu.
content.body İletinin düz metin gövdesi veya snippet'i.
content.headers[] MIME kodu çözülmüş değerlere sahip ileti üstbilgileri.
content.attachments[] Her bir ekin dosya adı, MIME türü, bayt cinsinden boyutu ve kimliği.
content.labels[] İletiye uygulanan standart Gmail etiketleri.
content.classificationLabelValues[] İletiye uygulanan sınıflandırma etiketleri (varsa).

Ham mesajın kodunu çözme

view=MESSAGE_VIEW_RAW ile rawMessage alanı, base64url dizesi olarak kodlanmış RFC 2822 biçimindeki tam iletiyi içerir. İletiyi standart e-posta araçlarıyla analiz etmek için kodunu çözün. Örneğin:

import base64
import email

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

Sonraki adımlar