Nachricht freigeben oder ablehnen

Nachdem Sie eine Nachricht in der Quarantäne geprüft haben, können Sie Ihre Entscheidung mit der Mail Admin Quarantine API aufzeichnen:

  • Geben Sie die Nachricht frei, um sie an die Empfänger zuzustellen. Eingehende Nachrichten werden im Postfach des Empfängers zugestellt. Ausgehende Nachrichten werden von Gmail gesendet.
  • Ablehnen, um die Nachricht abzulehnen. Gmail verwirft die Nachricht und stellt sie nicht zu.

Auf dieser Seite wird beschrieben, wie Sie eine einzelne Nachricht freigeben oder ablehnen. Wenn Sie mehrere Nachrichten gleichzeitig bearbeiten möchten, lesen Sie den Hilfeartikel Nachrichten im Batch freigeben oder ablehnen.

Vorbereitung

  • Sie haben die Schritte unter API einrichten ausgeführt.
  • Ein Zugriffstoken, das einen Administrator mit einer Administratorberechtigung für die Quarantäne imitiert und den Bereich https://www.googleapis.com/auth/gmail.admin.quarantine enthält. Der schreibgeschützte Bereich reicht nicht aus. Weitere Informationen finden Sie unter Mit domainweiter Delegierung autorisieren.
  • Der Ressourcenname einer Nachricht im Status PENDING_TRIAGE, die Sie über Nachrichten in Quarantäne auflisten und suchen erhalten.

Nachricht freigeben

Wenn Sie eine Nachricht freigeben möchten, senden Sie eine POST-Anfrage an die benutzerdefinierte Methode :release der Ressource customers.quarantinedMessages für den Ressourcennamen der Nachricht mit einem leeren JSON-Text:

POST https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID:release
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json

{}

Die Antwort enthält die aktualisierte Nachricht im Feld message, wobei state auf RELEASED gesetzt ist:

{
  "message": {
    "name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
    "messageId": "18d3ef45a8b2c1d0",
    "messageOwner": "user@example.com",
    "state": "RELEASED"
  }
}

Nachricht ablehnen

Wenn Sie eine Nachricht ablehnen möchten, senden Sie eine POST-Anfrage an die benutzerdefinierte Methode :deny der Ressource customers.quarantinedMessages für den Ressourcennamen der Nachricht mit einem leeren JSON-Text:

POST https://mailadminquarantine.googleapis.com/v1/customers/CUSTOMER_ID/quarantinedMessages/MESSAGE_OWNER:MESSAGE_ID:deny
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json

{}

Die Antwort enthält die aktualisierte Nachricht im Feld message, wobei state auf DENIED gesetzt ist:

{
  "message": {
    "name": "customers/01abc23de/quarantinedMessages/user@example.com:18d3ef45a8b2c1d0",
    "messageId": "18d3ef45a8b2c1d0",
    "messageOwner": "user@example.com",
    "state": "DENIED"
  }
}

Beispiel: Ausstehende Nachrichten sichten

Im folgenden Python-Beispiel wird nach Nachrichten gesucht, die auf eine Prüfung warten. Der Betreff jeder Nachricht wird geprüft und die Nachricht wird basierend auf einer Beispielregel freigegeben oder abgelehnt. Ersetzen Sie die Regel durch Ihre eigene Selektionslogik.

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']}")

Fehlerantworten

HTTP-Status Ursache
400 INVALID_ARGUMENT Der Ressourcenname ist fehlerhaft.
403 PERMISSION_DENIED Der Administrator, dessen Identität angenommen wurde, hat keinen Zugriff auf die Quarantäne, in der sich die Nachricht befindet, oder das Token hat nicht den Bereich https://www.googleapis.com/auth/gmail.admin.quarantine.
404 NOT_FOUND Es gibt keine Nachricht in Quarantäne mit diesem Ressourcennamen. Die Nachricht ist möglicherweise aus der Quarantäne abgelaufen.
429 RESOURCE_EXHAUSTED Ihr Google Cloud-Projekt hat das Kontingent für Schreibanfragen überschritten. Weitere Informationen finden Sie unter Nutzungskontingente für die Mail Admin Quarantine API.

Nächste Schritte