接收退信通知

如需接收电子邮件退信通知,您需要配置自己的应用启用电子邮件通知且需要创建处理程序来处理这些收到的通知。

配置应用以接收电子邮件退信通知

配置由两个部分组成。首先,您需要启用通知。其次,您需要设置 /_ah/bounce 和退信处理程序之间的映射,以便 App Engine 知道在哪里发布通知数据。如需配置您的应用以接收退信电子邮件通知,请执行以下操作:

  • 将以下内容添加到您的 app.yaml 文件以启用通知:

    inbound_services:
        - mail_bounce
    
  • app.yaml 中,同样在代码中声明 /_ah/bounce 与退信通知处理程序之间的映射,例如:

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

处理退信通知

退信通知是来自电子邮件系统自动发送的说明邮件传递出现问题的邮件。在您的应用中,您需要创建退信处理程序代码以接收和处理这些通知。

编写退信处理程序的一种方式是使用 BounceNotificationHandler 辅助类。如果您采用此方式,则需要改写 receive() 方法,此方法是使用 BounceNotification 类参数调用的。无论您是否使用 BounceNotificationHandler 辅助类,都需要通过 BounceNotification 来解析退信通知。

以下是使用 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

请参阅邮件处理程序指南,详细了解 Mail API 的迁移注意事项。