Como receber notificações de rejeição

Para receber notificações de rejeição de e-mails, configure o aplicativo para ativá-las e crie um gerenciador para elas.

Como configurar seu aplicativo para notificação de rejeição de e-mail

A configuração se divide em duas partes. Primeiro, é preciso ativar a notificação. Segundo, você precisa definir o mapeamento entre /_ah/bounce e seu gerenciador de rejeição para que o App Engine saiba onde POSTAR os dados de notificação. Para configurar o aplicativo e receber notificações de rejeição de e-mails:

  • Adicione o seguinte ao seu arquivo app.yaml para ativar a notificação:

    inbound_services:
        - mail_bounce
    
  • Além disso, em app.yaml, declare um mapeamento entre /_ah/bounce e o gerenciador de notificações de rejeição no seu código, por exemplo:

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

Como processar notificações de rejeição

Uma notificação de rejeição é uma mensagem automatizada de um sistema de e-mail em que houve um problema na entrega da mensagem. No app, você precisará criar um código do gerenciador de rejeição para receber e processar essas notificações.

Uma maneira de escrever um gerenciador de rejeição é usar a classe prática BounceNotificationHandler. Se você fizer isso, será necessário modificar o método receive(), que é chamado com um argumento da classe BounceNotification. Se você usar a classe de conveniência BounceNotificationHandler ou não, será necessário usar BounceNotification para analisar as notificações de rejeição.

Veja aqui um exemplo de gerenciador de rejeições que usa a classe de conveniência 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

Saiba mais sobre as considerações de migração para a API Mail no guia Gerenciadores de e-mail.