কোয়ারেন্টাইন করা মেসেজ পর্যালোচনা করার পরে, আপনার ট্রায়াজ সিদ্ধান্ত রেকর্ড করতে Mail Admin Quarantine API ব্যবহার করুন:
- প্রাপকের কাছে মেসেজ ডেলিভার করতে সেটি রিলিজ করুন। ইনবাউন্ড মেসেজের ক্ষেত্রে, Gmail সেটি প্রাপকের মেলবক্সে ডেলিভার করে। আউটবাউন্ড মেসেজের ক্ষেত্রে, Gmail সেটি পাঠায়।
- মেসেজটি বাতিল করতে প্রত্যাখ্যান করুন। Gmail মেসেজটি ড্রপ করে এবং এটি ডেলিভার করে না।
এই পৃষ্ঠায় একটি মেসেজ কীভাবে রিলিজ বা প্রত্যাখ্যান করতে হয় তা বর্ণনা করা হয়েছে। একসাথে অনেক মেসেজের উপর অ্যাকশন নিতে, ব্যাচে মেসেজ রিলিজ বা বাতিল করুন বিকল্প দেখুন।
পূর্বশর্ত
- আপনি API সেট-আপ করুন বিকল্পে ধাপগুলি সম্পূর্ণ করেছেন।
- একটি অ্যাক্সেস টোকেন যা অ্যাডমিন কোয়ারেন্টাইন বিশেষাধিকার সহ একজন অ্যাডমিনিস্ট্রেটরের ছদ্মবেশ ধারণ করে এবং এতে
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
কাস্টম পদ্ধতিতে খালি JSON বডি সহ একটি POST অনুরোধ পাঠান:
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']}")
সমস্যা সংক্রান্ত উত্তর
| HTTP স্ট্যাটাস | কারণ |
|---|---|
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 ব্যবহারের কোটা দেখুন। |