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

כדי לקבל התראות על החזרת אימייל, צריך להגדיר את האפליקציה כך שתאפשר התראות באימייל, וליצור 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 כדי לנתח את ההודעות על החזרת אימייל.

הנה דוגמה ל-handler של הודעות חוזרות שמשתמש במחלקה הנוחה 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.