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

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