קבלת הודעה חוזרת

כדי לקבל התראות על אימיילים חוזרים, צריך להגדיר את האפליקציה כך שתאפשר התראות באימייל, וליצור handler לטיפול בהתראות הנכנסות האלה.

הגדרת האפליקציה לקבלת התראות על אימיילים חוזרים

ההגדרה כוללת שני חלקים. קודם צריך להפעיל את ההתראות. בשלב השני, צריך להגדיר את המיפוי בין /_ah/bounce לבין ה-handler של ההודעות החוזרות, כדי שמערכת App Engine תדע לאן לשלוח את נתוני ההתראה באמצעות POST. כדי להגדיר את האפליקציה לקבלת התראות על אימיילים חוזרים:

  • כדי להפעיל את ההתראה, מוסיפים לקובץ app.yaml את הנתונים הבאים:

    inbound_services:
        - mail_bounce
    
  • בנוסף, ב-app.yaml, צריך להצהיר על מיפוי בין /_ah/bounce לבין handler של הודעת החזרה (bounce) בקוד, לדוגמה:

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

טיפול בהודעות חוזרות

הודעה על החזרת אימייל היא הודעה אוטומטית ממערכת אימייל על בעיה בשליחת ההודעה. באפליקציה, צריך ליצור קוד לטיפול בהודעות חוזרות כדי לקבל ולעבד את ההתראות האלה.

אחת הדרכים לכתוב handler לטיפול בהודעות חוזרות היא להשתמש במחלקה הנוחה 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 זמין במדריך Mail handlers.