क्वारंटीन किए गए किसी मैसेज की समीक्षा करने के बाद, Mail Admin Quarantine API का इस्तेमाल करके, मैसेज को क्वारंटीन करने के अपने फ़ैसले को रिकॉर्ड करें:
- मैसेज को पाने वाले लोगों तक पहुंचाने के लिए, उसे रिलीज़ करें. इनबाउंड मैसेज के लिए, Gmail उसे पाने वाले के मेलबॉक्स में डिलीवर करता है. Gmail, आउटबाउंड मैसेज भेजता है.
- मैसेज को अस्वीकार करने के लिए, अस्वीकार करें को चुनें. Gmail, मैसेज को ड्रॉप कर देता है और उसे डिलीवर नहीं करता.
इस पेज पर, किसी एक मैसेज को रिलीज़ करने या अस्वीकार करने का तरीका बताया गया है. एक साथ कई मैसेज पर कार्रवाई करने के लिए, बैच में मैसेज रिलीज़ करना या उन्हें अस्वीकार करना लेख पढ़ें.
ज़रूरी शर्तें
- आपने एपीआई सेट अप करें में दिए गए चरणों को पूरा कर लिया हो.
- ऐसा ऐक्सेस टोकन जो एडमिन के तौर पर काम करता है. इसके पास एडमिन के तौर पर, ईमेल को क्वॉरंटीन करने का खास अधिकार होता है. साथ ही, इसमें
https://www.googleapis.com/auth/gmail.admin.quarantineस्कोप शामिल होता है. सिर्फ़ पढ़ने का स्कोप काफ़ी नहीं है. डोमेन के सभी उपयोगकर्ताओं के डेटा का ऐक्सेस देकर अनुमति दें देखें. PENDING_TRIAGEस्थिति में क्वॉरंटीन किए गए मैसेज के संसाधन का नाम, जो आपको क्वॉरंटीन किए गए मैसेज की सूची और खोज से मिलता है.
मैसेज रिलीज़ करना
किसी मैसेज को रिलीज़ करने के लिए, मैसेज के संसाधन के नाम पर customers.quarantinedMessages संसाधन के :release कस्टम तरीके को खाली JSON बॉडी के साथ POST अनुरोध भेजें:
POST https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID:release
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{}
जवाब में, message फ़ील्ड में अपडेट किया गया मैसेज शामिल होता है. इसमें state को RELEASED पर सेट किया जाता है:
{
"message": {
"name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
"messageId": "18d3ef45a8b2c1d0",
"messageOwner": "user@example.com",
"state": "RELEASED"
}
}
मैसेज को अस्वीकार करना
किसी मैसेज को अस्वीकार करने के लिए, मैसेज के संसाधन के नाम पर customers.quarantinedMessages संसाधन के :deny कस्टम तरीके को POST अनुरोध भेजें. इसके लिए, JSON बॉडी को खाली रखें:
POST https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID:deny
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{}
जवाब में, message फ़ील्ड में अपडेट किया गया मैसेज शामिल होता है. इसमें state को DENIED पर सेट किया जाता है:
{
"message": {
"name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
"messageId": "18d3ef45a8b2c1d0",
"messageOwner": "user@example.com",
"state": "DENIED"
}
}
उदाहरण: अनुमति मिलने का इंतज़ार कर रहे मैसेज को अनुमति देना
Python के इस उदाहरण में, समीक्षा के लिए बाकी बचे मैसेज खोजे जाते हैं. साथ ही, हर मैसेज के विषय की जांच की जाती है. इसके बाद, सैंपल नियम के आधार पर मैसेज को रिलीज़ या अस्वीकार किया जाता है. नियम को अपने हिसाब से प्राथमिकता तय करने के लॉजिक से बदलें.
import requests
BASE_URL = 'https://mailadminquarantine.googleapis.com/v1'
CUSTOMER_ID = '01abc23de' # Your customer ID without the leading 'C'.
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json',
}
# 1. Search for messages pending triage.
search_url = f'{BASE_URL}/customers/{CUSTOMER_ID}/quarantinedMessages:search'
search_body = {'filter': 'status = PENDING_TRIAGE', 'pageSize': 10}
response = requests.post(search_url, headers=headers, json=search_body)
response.raise_for_status()
for message in response.json().get('quarantinedMessages', []):
name = message['name']
# 2. Get the parsed message content.
details = requests.get(
f'{BASE_URL}/{name}?view=MESSAGE_VIEW_DETAILS', headers=headers)
details.raise_for_status()
subject = details.json().get('content', {}).get('subject', '')
# 3. Release or deny the message.
action = 'deny' if 'malicious' in subject.lower() else 'release'
result = requests.post(f'{BASE_URL}/{name}:{action}', headers=headers,
json={})
result.raise_for_status()
print(f"{name}: {result.json()['message']['state']}")
गड़बड़ी के जवाब
| एचटीटीपी कोड स्थिति | वजह |
|---|---|
400 INVALID_ARGUMENT |
संसाधन का नाम गलत है. |
403 PERMISSION_DENIED |
जिस एडमिन के नाम पर अनुरोध किया गया है उसके पास, मैसेज को होल्ड करने वाले क्वॉरंटीन का ऐक्सेस नहीं है या टोकन में https://www.googleapis.com/auth/gmail.admin.quarantine स्कोप नहीं है. |
404 NOT_FOUND |
इस संसाधन नाम के साथ, क्वॉरंटीन किया गया कोई मैसेज मौजूद नहीं है. ऐसा हो सकता है कि क्वॉरंटीन में रखे गए मैसेज की समयसीमा खत्म हो गई हो. |
429 RESOURCE_EXHAUSTED |
आपके Google Cloud प्रोजेक्ट के लिए, डेटा लिखने के अनुरोध का कोटा खत्म हो गया है. Mail Admin Quarantine API के इस्तेमाल का कोटा देखें. |