將文件新增至集合後,擴充功能會擷取文件,以進行電子郵件傳送處理。擴充功能會在處理電子郵件時,在文件中建立及更新 delivery 欄位。
處理電子郵件傳送作業
delivery 欄位可填入下列欄位:
- 狀態:
PENDING、PROCESSING、SUCCESS或ERROR。 - startTime:開始處理電子郵件的時間戳記。
- endTime:電子郵件處理完成的時間戳記 (即以
SUCCESS或ERROR狀態結束)。 - 錯誤:如果電子郵件傳送失敗,這裡會顯示錯誤訊息。
- attempts:這封電子郵件的傳送嘗試次數。
- leaseExpireTime:如果發生停止或逾時情況,系統應將
PROCESSING狀態視為錯誤的時間。 - 資訊:成功傳送電子郵件 (至至少一個地址) 後,這個欄位會填入下列欄位:
- messageId:已傳送電子郵件的郵件 ID。
- accepted:電子郵件成功送達的電子郵件地址陣列。
- rejected:無法傳送電子郵件的電子郵件地址陣列。
- 待處理:遭 SMTP 暫時拒絕的電子郵件地址陣列。
- response:SMTP 伺服器的最後一次回應。
電子郵件通常會從 PENDING 傳送到 PROCESSING,然後再傳送到 SUCCESS 或 ERROR。文件處於 SUCCESS 或 ERROR 狀態時,對文件進行其他變更不會觸發擴充功能傳送另一封電子郵件。如要重新傳送含有文件更新內容的電子郵件,請將 state 變更為 PENDING 或 RETRY。
手動重試
在某些情況下,電子郵件傳送失敗是可以復原的,或是只要稍做修改,就能手動修正文件並順利傳送。雖然系統不會自動重試,但您可以手動將 delivery 欄位中的 state 改為 RETRY,讓擴充功能再次嘗試傳送電子郵件 (並增加 attempts 的數量)。