Tetikleyici E-posta uzantısıyla teslim durumunu yönetme

Koleksiyona bir doküman eklendiğinde uzantı, e-posta gönderme işlemi için dokümanı alır. Uzantı, e-postayı işlerken belgede bir delivery alanı oluşturur ve günceller.

E-posta teslimi işleme

delivery alanı aşağıdaki alanlarla doldurulabilir:

  • state: PENDING, PROCESSING, SUCCESS veya ERROR değerlerinden biri.
  • startTime: E-posta işlemenin başladığı zaman damgası.
  • endTime: E-posta işlemenin tamamlandığı zaman damgası (yani SUCCESS veya ERROR durumunda sona erdi).
  • error: E-posta teslimatında hata varsa buraya bir hata mesajı doldurulur.
  • attempts: Bu e-postanın teslim edilme denemelerinin sayısı.
  • leaseExpireTime: Kilitlenme veya zaman aşımı durumunda, PROCESSING durumunun hata olarak kabul edilmesi gereken zaman.
  • info: E-posta başarıyla gönderildikten (en az bir adrese) sonra 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 adresleri dizisi.
    • reddedildi: E-postanın teslim edilemediği e-posta adresleri dizisi.
    • beklemede: SMTP tarafından geçici olarak reddedilen e-posta adresleri dizisi.
    • response: SMTP sunucusundan gelen son yanıt.

E-postalar genellikle PENDING'ten PROCESSING'e, oradan da SUCCESS veya ERROR'a gider. SUCCESS veya ERROR durumundayken dokümanda yapılan ek değişiklikler, ek sürenin başka bir e-posta göndermesini tetiklemez. Belge güncellemelerini içeren bir e-postayı yeniden göndermek için state değerini PENDING veya RETRY olarak değiştirebilirsiniz.

Manuel yeniden denemeler

E-postanın tesliminin kurtarılabilir bir şekilde başarısız olduğu veya dokümanın küçük değişikliklerle düzgün bir şekilde teslim edilmesi için manuel olarak düzeltilebileceği durumlar vardır. Yeniden denemeler otomatik olmasa da uzantının e-posta göndermeyi tekrar denemesi (ve attempts sayısını artırması) için delivery alanındaki state değerini manuel olarak RETRY olarak değiştirebilirsiniz.