Koleksiyona bir doküman eklendiğinde uzantı, e-posta teslimi için işleme alır. Uzantı, e-postayı işlerken dokümanda bir delivery alanı oluşturur ve günceller.
E-posta teslimi işleme
delivery alanı aşağıdaki alanlarla doldurulabilir:
- state:
PENDING,PROCESSING,SUCCESSveyaERRORdeğerlerinden biri. - startTime: E-posta işleme işleminin başladığı zaman damgası.
- endTime: E-posta işleme tamamlandığında (yani
SUCCESSveyaERRORdurumuyla sona erdiğinde) alınan zaman damgası. - hata: E-posta teslimi hatası varsa buraya bir hata mesajı girilir.
- attempts: Bu e-postanın teslimi için yapılan deneme sayısı.
- leaseExpireTime: Takılma veya zaman aşımı durumunda,
PROCESSINGdurumunun hata olarak kabul edilmesi gereken süre. - info: E-posta başarıyla teslim edildikten sonra (en az bir adrese) bu alan aşağıdaki alanlarla doldurulur:
- messageId: Teslim edilen e-postanın ileti kimliği.
- accepted: E-postanın başarıyla teslim edildiği e-posta adreslerinin dizisi.
- rejected: E-postanın teslim edilemediği e-posta adreslerinin dizisi.
- pending: SMTP tarafından geçici olarak reddedilen e-posta adreslerinin dizisi.
- response: SMTP sunucusundan gelen son yanıt.
E-postalar genellikle PENDING adresinden PROCESSING adresine, SUCCESS veya ERROR adresine gönderilir. SUCCESS veya ERROR durumuna geçildiğinde, dokümanda yapılan ek değişiklikler uzantının başka bir e-posta göndermesini tetiklemez. Belge güncellemeleri içeren bir e-postayı yeniden göndermek için state simgesini PENDING veya RETRY olarak değiştirebilirsiniz.
Manuel yeniden denemeler
E-posta tesliminin kurtarılabilir şekilde başarısız olduğu veya dokümanın küçük değişikliklerle uygun şekilde teslim edilmesi için manuel olarak düzeltilebileceği durumlar vardır. Yeniden denemeler otomatik olmasa da uzantının e-posta teslimini tekrar denemesi (ve attempts sayısını artırması) için delivery alanındaki state değerini manuel olarak RETRY olarak değiştirebilirsiniz.