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