バウンス通知の受信

メールバウンス通知を受け取るには、メール通知を有効にするようにアプリを設定し、それらの新着アイテム通知を処理するハンドラを作成する必要があります。

アプリケーションでメールのバウンス通知を構成する

2 段階の設定が必要です。まずは、通知を有効にする必要があります。次に、通知データを POST する場所を App Engine が認識できるように、/_ah/bounce とバウンス ハンドラ間のマッピングを設定する必要があります。バウンスメール通知を受け取るようにアプリを設定する手順は次のとおりです。

  • 次の記述を app.yaml ファイルに追加して通知を有効にします。

    inbound_services:
        - mail_bounce
    
  • app.yaml のコード内で、/_ah/bounce とバウンス通知ハンドラの間のマッピングを宣言します。次に例を示します。

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

バウンス通知の処理

バウンス通知は、メッセージ配信で問題が発生したメールシステムからの自動メッセージです。アプリで、これらの通知を受信して処理するバウンス ハンドラ コードを作成する必要があります。

バウンス ハンドラを作成する方法の 1 つが BounceNotificationHandler コンビニエンス クラスを使用する方法です。この方法を選択した場合は、BounceNotification クラスの引数を使って呼び出される receive() メソッドをオーバーライドする必要があります。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 の移行に関する考慮事項を確認する。メールハンドラ ガイドをご覧ください。