จัดการสถานะการจัดส่งด้วยส่วนขยายอีเมลทริกเกอร์

เมื่อเพิ่มเอกสารลงในคอลเลกชัน ส่วนขยายจะเลือกเอกสารนั้นเพื่อดำเนินการส่งอีเมล ส่วนขยายจะสร้างและอัปเดตฟิลด์ 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 )