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

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

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

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

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