เมื่อเพิ่มเอกสารลงในคอลเลกชัน ส่วนขยายจะเลือกเอกสารนั้นเพื่อดำเนินการส่งอีเมล ส่วนขยายจะสร้างและอัปเดตฟิลด์ delivery
ในเอกสารขณะประมวลผลอีเมล
การประมวลผลการส่งอีเมล
ฟิลด์ delivery
สามารถเติมด้วยฟิลด์ต่อไปนี้:
- สถานะ: หนึ่งใน
PENDING
,PROCESSING
,SUCCESS
หรือERROR
- startTime: การประทับเวลาเมื่อเริ่มการประมวลผลอีเมล
- endTime: การประทับเวลาเมื่อการประมวลผลอีเมลเสร็จสมบูรณ์ (นั่นคือ สิ้นสุดในสถานะ
SUCCESS
หรือERROR
) - ข้อผิดพลาด: หากมีข้อผิดพลาดในการส่งอีเมล ข้อความแสดงข้อผิดพลาดจะถูกเติมไว้ที่นี่
- ความพยายาม: จำนวนความพยายามในการส่งอีเมลนี้
- LeaseExpireTime: ในกรณีที่หยุดทำงานหรือหมดเวลา เวลาที่สถานะ
PROCESSING
ควรถูกพิจารณาว่ามีข้อผิดพลาด - ข้อมูล: หลังจากส่งอีเมลสำเร็จ (ไปยังที่อยู่อย่างน้อยหนึ่งแห่ง) ช่องนี้จะถูกเติมด้วยช่องต่อไปนี้:
- messageId: รหัสข้อความของอีเมลที่ส่ง
- ยอมรับแล้ว: อาร์เรย์ของที่อยู่อีเมลที่ส่งอีเมลไปเรียบร้อยแล้ว
- ถูกปฏิเสธ: อาร์เรย์ของที่อยู่อีเมลที่ไม่สามารถส่งอีเมลถึงได้
- รอดำเนินการ: อาร์เรย์ของที่อยู่อีเมลที่ถูกปฏิเสธชั่วคราวโดย SMTP
- การตอบสนอง: การตอบสนองล่าสุดจากเซิร์ฟเวอร์ SMTP
โดยทั่วไปอีเมลจะเปลี่ยนจาก PENDING
เป็น PROCESSING
เป็น SUCCESS
หรือ ERROR
เมื่ออยู่ในสถานะ SUCCESS
หรือ ERROR
การเปลี่ยนแปลงเพิ่มเติมในเอกสารจะไม่กระตุ้นให้ส่วนขยายส่งอีเมลอีก หากต้องการส่งอีเมลพร้อมอัปเดตเอกสารอีกครั้ง คุณสามารถเปลี่ยน state
เป็น PENDING
หรือ RETRY
ลองอีกครั้งด้วยตนเอง
มีกรณีที่การส่งอีเมลล้มเหลวในรูปแบบที่สามารถกู้คืนได้ หรือเอกสารสามารถแก้ไขได้ด้วยตนเองเพื่อการส่งอีเมลที่เหมาะสมโดยมีการแก้ไขเล็กน้อย แม้ว่าการลองใหม่จะไม่เกิดขึ้นโดยอัตโนมัติ คุณสามารถเปลี่ยน state
ในช่อง delivery
เป็น RETRY
ได้ด้วยตนเอง เพื่อให้ส่วนขยายพยายามส่งอีเมลอีกครั้ง (และเพิ่มจำนวนครั้งใน attempts
)