Ricezione di una notifica di mancato recapito

Per ricevere notifiche di ritorno email, devi configurare la tua app per attivare la notifica via email e creare un gestore per gestire le notifiche in arrivo.

Configurazione dell'applicazione per la notifica di ritorno email

La configurazione è composta da due parti. Innanzitutto, devi attivare la notifica. In secondo luogo, devi impostare la mappatura tra /_ah/bounce e il gestore dei rilanci, in modo che App Engine sappia dove POSTare i dati di notifica. Per configurare l'app in modo che riceva notifiche email per i messaggi che non sono stati recapitati:

  • Aggiungi quanto segue al tuo file app.yaml per attivare la notifica:

    inbound_services:
        - mail_bounce
    
  • Sempre in app.yaml, dichiara una mappatura tra /_ah/bounce e il gestore della notifica di rimbalzo nel codice, ad esempio:

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

Gestione delle notifiche di mancato recapito

Una notifica di mancato recapito è un messaggio automatico di un sistema email che indica che si è verificato un problema con il recapito del messaggio. Nell'app, dovrai creare il codice del gestore dei rimbalzi per ricevere e elaborare queste notifiche.

Un modo per scrivere un gestore dei rimbalzi è utilizzare la classe di utilità BounceNotificationHandler. Se scegli questa strada, dovrai sostituire il metodo receive(), che viene chiamato con un argomento della classe BounceNotification. Indipendentemente dall'utilizzo o meno della classe di utilità BounceNotificationHandler, devi utilizzare BounceNotification per analizzare le notifiche di recapito.

Ecco un gestore di abbandono di esempio che utilizza la classe di utilità BounceNotificationHandler:

@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

Scopri di più sulle considerazioni sulla migrazione per l'API Mail nella guida relativa ai gestori della posta.