Setelah meninjau pesan yang dikarantina, gunakan Mail Admin Quarantine API untuk mencatat keputusan triase Anda:
- Lepaskan pesan untuk mengirimkannya kepada penerima. Untuk pesan masuk, Gmail akan mengirimkannya ke kotak surat penerima. Untuk pesan keluar, Gmail akan mengirimkannya.
- Tolak pesan untuk menolaknya. Gmail akan menghapus pesan dan tidak mengirimkannya.
Halaman ini menjelaskan cara merilis atau menolak satu pesan. Untuk mengambil tindakan pada banyak pesan sekaligus, lihat Merilis atau menolak pesan dalam batch.
Prasyarat
- Anda telah menyelesaikan langkah-langkah di bagian Menyiapkan API.
- Token akses yang meniru identitas administrator dengan hak istimewa
karantina admin dan menyertakan cakupan
https://www.googleapis.com/auth/gmail.admin.quarantine. Cakupan hanya baca tidak cukup. Lihat Memberikan otorisasi dengan delegasi tingkat domain. - Nama resource pesan yang dikarantina dalam status
PENDING_TRIAGE, yang Anda dapatkan dari Mencantumkan dan menelusuri pesan yang dikarantina.
Merilis pesan
Untuk merilis pesan, kirim permintaan POST ke metode kustom :release dari resource customers.quarantinedMessages pada nama resource pesan dengan isi JSON kosong:
POST https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID:release
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{}
Respons berisi pesan yang diperbarui di kolom message, dengan
state
ditetapkan ke RELEASED:
{
"message": {
"name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
"messageId": "18d3ef45a8b2c1d0",
"messageOwner": "user@example.com",
"state": "RELEASED"
}
}
Menolak pesan
Untuk menolak pesan, kirim permintaan POST ke metode kustom :deny dari resource customers.quarantinedMessages pada nama resource pesan dengan isi JSON kosong:
POST https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID:deny
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{}
Respons berisi pesan yang diperbarui di kolom message, dengan
state ditetapkan ke DENIED:
{
"message": {
"name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
"messageId": "18d3ef45a8b2c1d0",
"messageOwner": "user@example.com",
"state": "DENIED"
}
}
Contoh: Melakukan triase pesan yang tertunda
Contoh Python berikut menelusuri pesan yang menunggu triase, memeriksa subjek setiap pesan, dan merilis atau menolak pesan berdasarkan contoh aturan. Ganti aturan dengan logika triase Anda sendiri.
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']}")
Respons error
| Status HTTP | Penyebab |
|---|---|
400 INVALID_ARGUMENT |
Nama resource salah format. |
403 PERMISSION_DENIED |
Administrator yang ditiru tidak memiliki akses ke karantina yang menyimpan pesan, atau token tidak memiliki cakupan https://www.googleapis.com/auth/gmail.admin.quarantine. |
404 NOT_FOUND |
Tidak ada pesan yang dikarantina dengan nama resource tersebut. Pesan mungkin telah habis masa berlakunya dari karantina. |
429 RESOURCE_EXHAUSTED |
Project Google Cloud Anda melebihi kuota permintaan tulis. Lihat Kuota penggunaan Mail Admin Quarantine API. |