Bouncebenachrichtigung erhalten

Um E-Mail-Bouncebenachrichtigungen zu erhalten, müssen Sie Ihre Anwendung so konfigurieren, dass E-Mail-Benachrichtigungen aktiviert werden, und einen Handler erstellen, der diese eingehenden Benachrichtigungen verarbeitet.

Anwendung für die E-Mail-Rücksendebenachrichtigung konfigurieren

Die Konfiguration besteht aus zwei Teilen. Als Erstes müssen Sie die Benachrichtigungen aktivieren. Als Zweites müssen Sie die Zuordnung zwischen /_ah/bounce und Ihrem Bounce-Handler einrichten, damit App Engine weiß, wo die Benachrichtigungsdaten GEPOSTET werden sollen. So konfigurieren Sie Ihre Anwendung für den Erhalt von E-Mail-Bouncebenachrichtigungen:

  • Fügen Sie der Datei app.yaml Folgendes hinzu, um Benachrichtigungen zu aktivieren:

    inbound_services:
        - mail_bounce
    
  • Deklarieren Sie außerdem in app.yaml eine Zuordnung zwischen /_ah/bounce und dem Bouncebenachrichtigungs-Handler im Code. Beispiel:

    - url: /_ah/bounce
      script: handle_bounced_email.app
      login: admin

Bouncebenachrichtigungen verarbeiten

Eine Bouncebenachrichtigung ist eine automatische Nachricht eines E-Mail-Systems über ein Problem bei der E-Mail-Zustellung. Damit diese Benachrichtigungen empfangen und verarbeitet werden können, müssen Sie in Ihrer Anwendung einen Bounce-Handler-Code erstellen.

Eine Möglichkeit, einen Bounce-Handler zu schreiben, bietet die Verwendung der Convenience-Klasse BounceNotificationHandler. Bei diesem Vorgehen müssen Sie dessen Methode receive() überschreiben, die mit einem Argument der Klasse BounceNotification aufgerufen wird. Unabhängig davon, ob Sie die Convenience-Klasse BounceNotificationHandler verwenden, benötigen Sie BounceNotification, um die Bouncebenachrichtigungen zu parsen.

Hier sehen Sie ein Beispiel für einen Bounce-Handler, der die Convenience-Klasse BounceNotificationHandler verwendet:

@app.route("/_ah/bounce", methods=["POST"])
def receive_bounce():
    bounce_message = mail.BounceNotification(dict(request.form.lists()))

    # Do something with the message
    print("Bounce original: ", bounce_message.original)
    print("Bounce notification: ", bounce_message.notification)

    return "OK", 200

Weitere Informationen zur Migration für die Mail API finden Sie im Leitfaden zu den Mail-Handlern.