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 o aplicativo para receber notificações de rejeição

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

  1. Adicione a seguinte instrução ao arquivo app.yaml para ativar a notificação:
    inbound_services:
    - mail_bounce
  2. Declare também, no app.yaml, um mapeamento entre o /_ah/bounce e o gerenciador de notificação de rejeição no 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 fizer isso, será preciso modificar o método receive() chamado com um argumento da classe BounceNotification. Independentemente de usar a classe prática BounceNotificationHandler ou não, você precisa usar BounceNotification para analisar as notificações de rejeição.

As classes BounceNotificationHandler e BounceNotification estão no pacote google.appengine.ext.webapp.mail_handlers.

Aqui está um gerenciador de rejeição de amostra que usa a classe prática BounceNotificationHandler:

class LogBounceHandler(BounceNotificationHandler):
    def receive(self, bounce_message):
        logging.info('Received bounce post ... [%s]', self.request)
        logging.info('Bounce original: %s', bounce_message.original)
        logging.info('Bounce notification: %s', bounce_message.notification)
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Python 2