Zarządzanie stanem dostarczenia za pomocą rozszerzenia e-maila aktywującego

Gdy dokument zostanie dodany do kolekcji, rozszerzenie przekaże go do przetwarzania w celu wysłania e-maila. Podczas przetwarzania e-maila rozszerzenie tworzy i aktualizuje w dokumencie pole delivery.

Przetwarzanie dostarczania poczty e-mail

Pole delivery może być wypełnione za pomocą tych pól:

  • state: jeden z tych stanów: PENDING, PROCESSING, SUCCESS lub ERROR.
  • startTime: sygnatura czasowa rozpoczęcia przetwarzania e-maila.
  • endTime: sygnatura czasowa zakończenia przetwarzania e-maila (czyli zakończenia w stanie SUCCESS lub ERROR).
  • error: jeśli wystąpił błąd podczas wysyłania e-maila, zostanie tu wyświetlony komunikat o błędzie.
  • attempts: liczba prób dostarczenia tego e-maila.
  • leaseExpireTime: w przypadku zawieszenia lub przekroczenia limitu czasu stan PROCESSING powinien być uznawany za błąd.
  • info: po pomyślnym wysłaniu e-maila (na co najmniej 1 adres) to pole zostanie wypełnione tymi polami:
    • messageId:identyfikator wiadomości e-maila dostarczonego.
    • accepted: tablica adresów e-mail, na które e-mail został dostarczony.
    • rejected: tablica adresów e-mail, na które nie udało się dostarczyć e-maila.
    • pending: tablica adresów e-mail, które zostały tymczasowo odrzucone przez SMTP.
    • response: ostatnia odpowiedź serwera SMTP.

E-maile są zwykle wysyłane z PENDING do PROCESSING do SUCCESS lub ERROR. Gdy stan rozszerzenia to SUCCESS lub ERROR, dodatkowe zmiany w dokumencie nie spowodują wysłania kolejnego e-maila. Aby ponownie wysłać e-maila z aktualizacjami dokumentu, możesz zmienić wartość state na PENDING lub RETRY.

Ręczne próby

Czasami wysłanie e-maila kończy się niepowodzeniem, ale można go odzyskać, lub dokument można ręcznie poprawić, aby można go było prawidłowo wysłać. Chociaż ponowne próby nie są automatyczne, możesz ręcznie zmienić wartość state w polu delivery na RETRY, aby rozszerzenie ponownie próbowało wysłać e-maila (i zwiększyć liczbę attempts).