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

เมื่อเพิ่มเอกสารลงในคอลเล็กชันแล้ว ส่วนขยายจะรับเอกสารดังกล่าวเพื่อประมวลผลการนําส่งทางอีเมล ส่วนขยายจะสร้างและอัปเดตช่อง delivery ในเอกสารขณะประมวลผลอีเมล

การประมวลผลการนําส่งอีเมล

ฟิลด์ delivery สามารถป้อนข้อมูลด้วยฟิลด์ต่อไปนี้

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

โดยปกติแล้ว อีเมลจะส่งจาก PENDING ไปยัง PROCESSING ไปยัง SUCCESS หรือ ERROR เมื่ออยู่ในสถานะ SUCCESS หรือ ERROR การเปลี่ยนแปลงเพิ่มเติมในเอกสารจะไม่ทริกเกอร์ส่วนขยายให้ส่งอีเมลอีก หากต้องการส่งอีเมลที่มีการอัปเดตเอกสารอีกครั้ง ให้เปลี่ยน state เป็น PENDING หรือ RETRY

การดำเนินการอีกครั้งด้วยตนเอง

มีบางกรณีที่การส่งอีเมลไม่สำเร็จแต่กู้คืนได้ หรือแก้ไขเอกสารด้วยตนเองเพื่อให้ส่งได้อย่างถูกต้องโดยทำการแก้ไขเล็กน้อย แม้ว่าการลองอีกครั้งจะไม่ทำงานอัตโนมัติ แต่คุณสามารถเปลี่ยน state ในช่อง delivery เป็น RETRY ด้วยตนเองเพื่อให้ส่วนขยายพยายามส่งอีเมลอีกครั้ง (และเพิ่มจำนวน attempts)