মেসেজ রিলিজ বা বাতিল করা

কোয়ারেন্টাইন করা মেসেজ পর্যালোচনা করার পরে, আপনার ট্রায়াজ সিদ্ধান্ত রেকর্ড করতে Mail Admin Quarantine API ব্যবহার করুন:

  • প্রাপকের কাছে মেসেজ ডেলিভার করতে সেটি রিলিজ করুন। ইনবাউন্ড মেসেজের ক্ষেত্রে, Gmail সেটি প্রাপকের মেলবক্সে ডেলিভার করে। আউটবাউন্ড মেসেজের ক্ষেত্রে, Gmail সেটি পাঠায়।
  • মেসেজটি বাতিল করতে প্রত্যাখ্যান করুন। Gmail মেসেজটি ড্রপ করে এবং এটি ডেলিভার করে না।

এই পৃষ্ঠায় একটি মেসেজ কীভাবে রিলিজ বা প্রত্যাখ্যান করতে হয় তা বর্ণনা করা হয়েছে। একসাথে অনেক মেসেজের উপর অ্যাকশন নিতে, ব্যাচে মেসেজ রিলিজ বা বাতিল করুন বিকল্প দেখুন।

পূর্বশর্ত

মেসেজ রিলিজ করুন

কোনও মেসেজ রিলিজ করতে, মেসেজের রিসোর্স নামের উপর 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 ব্যবহারের কোটা দেখুন।

পরবর্তী ধাপ