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.quarantineveyahttps://www.googleapis.com/auth/gmail.admin.quarantine.readonlykapsamı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:
messageOwneralanında döndürülen, posta kutusu sahibinin e-posta adresi. - MESSAGE_ID:
messageIdalanı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'])