Dopo aver esaminato un messaggio in quarantena, utilizza l'API Mail Admin Quarantine per registrare la tua decisione di triage:
- Sblocca il messaggio per recapitarlo ai destinatari. Per un messaggio in entrata, Gmail lo recapita alla casella di posta del destinatario. Per un messaggio in uscita, Gmail lo invia.
- Nega il messaggio per rifiutarlo. Gmail elimina il messaggio e non lo recapita.
In questa pagina viene descritto come rilasciare o rifiutare un singolo messaggio. Per intervenire su più messaggi contemporaneamente, consulta Sbloccare o rifiutare i messaggi in batch.
Prerequisiti
- Hai completato i passaggi descritti in Configura l'API.
- Un token di accesso che impersona un amministratore con un privilegio di quarantena amministrativa e include l'ambito
https://www.googleapis.com/auth/gmail.admin.quarantine. L'ambito di sola lettura non è sufficiente. Vedi Autorizza con la delega a livello di dominio. - Il nome della risorsa di un messaggio in quarantena nello stato
PENDING_TRIAGE, che ottieni da Elenca e cerca i messaggi in quarantena.
Sblocca un messaggio
Per confermare un messaggio, invia una richiesta POST al metodo personalizzato :release della risorsa customers.quarantinedMessages sul nome della risorsa del messaggio con un corpo JSON vuoto:
POST https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID:release
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{}
La risposta contiene il messaggio aggiornato nel campo message, con
state
impostato su RELEASED:
{
"message": {
"name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
"messageId": "18d3ef45a8b2c1d0",
"messageOwner": "user@example.com",
"state": "RELEASED"
}
}
Rifiutare un messaggio
Per rifiutare un messaggio, invia una richiesta POST al metodo personalizzato :deny della risorsa customers.quarantinedMessages sul nome della risorsa del messaggio con un corpo JSON vuoto:
POST https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID:deny
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{}
La risposta contiene il messaggio aggiornato nel campo message, con state impostato su DENIED:
{
"message": {
"name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
"messageId": "18d3ef45a8b2c1d0",
"messageOwner": "user@example.com",
"state": "DENIED"
}
}
Esempio: smistamento dei messaggi in attesa
Il seguente esempio di Python cerca i messaggi in attesa di triage, ispeziona l'oggetto di ogni messaggio e lo rilascia o lo rifiuta in base a una regola di esempio. Sostituisci la regola con la tua logica di triage.
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']}")
Risposte di errore
| Stato HTTP | Causa |
|---|---|
400 INVALID_ARGUMENT |
Il nome della risorsa non è corretto. |
403 PERMISSION_DENIED |
L'amministratore di cui è stata eseguita la simulazione non ha accesso alla quarantena che contiene il messaggio oppure il token non ha l'ambito https://www.googleapis.com/auth/gmail.admin.quarantine. |
404 NOT_FOUND |
Non esiste alcun messaggio in quarantena con questo nome risorsa. Il messaggio potrebbe essere scaduto dalla quarantena. |
429 RESOURCE_EXHAUSTED |
Il tuo progetto Google Cloud ha superato la quota di richieste di scrittura. Consulta Quote di utilizzo dell'API Mail Admin Quarantine. |