כשמוסיפים מסמך לאוסף, התוסף מרים אותו לצורך עיבוד לשליחה באימייל. התוסף יוצר ומעדכן את השדה delivery
במסמך בזמן שהוא מעבד את האימייל.
עיבוד שליחת אימיילים
אפשר לאכלס את השדה delivery
באמצעות השדות הבאים:
- state: אחת מהאפשרויות
PENDING
,PROCESSING
,SUCCESS
אוERROR
. - startTime: חותמת הזמן שבה עיבוד האימייל התחיל.
- endTime: חותמת זמן של סיום עיבוד האימייל (כלומר, הסתיים במצב
SUCCESS
אוERROR
). - error: אם הייתה שגיאה בשליחת האימייל, הודעת השגיאה תופיע כאן.
- attempts: מספר ניסיונות השליחה של האימייל הזה.
- leaseExpireTime: במקרה של תקלה או זמן קצוב לתפוגה, השעה שבה מצב
PROCESSING
צריך להיחשב כשגיאה. - info: אחרי שליחת האימייל בהצלחה (לפחות לכתובת אחת), השדה הזה יאוכלס בשדות הבאים:
- messageId: מזהה ההודעה של הודעת האימייל שנשלחה.
- accepted: מערך של כתובות אימייל שאליהן האימייל נמסר בהצלחה.
- rejected: מערך של כתובות אימייל שלא ניתן היה לשלוח אליהן את האימייל.
- pending: מערך של כתובות אימייל שנדחו באופן זמני על ידי SMTP.
- response: התגובה האחרונה משרת ה-SMTP.
בדרך כלל, אימייל יעבור מ-PENDING
אל PROCESSING
ואז אל SUCCESS
או ERROR
. אחרי שהמסמך יהיה בסטטוס SUCCESS
או ERROR
, שינויים נוספים במסמך לא יגרמו לכך שהתוסף ישלח אימייל נוסף. כדי לשלוח מחדש אימייל עם עדכונים למסמך, אפשר לשנות את הערך של state
ל-PENDING
או ל-RETRY
.
ניסיונות חוזרים ידניים
יש מקרים שבהם שליחת האימייל נכשלת באופן שלא ניתן לשחזור, או שאפשר לתקן את המסמך באופן ידני כדי לשלוח אותו בצורה תקינה עם שינויים קלים. הניסיונות החוזרים לא מתבצעים באופן אוטומטי, אבל אפשר לשנות באופן ידני את הערך של state
בשדה delivery
ל-RETRY
כדי שהתוסף ינסה לשלוח את האימייל שוב (והמספר של attempts
יגדל).