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
lubERROR
. - startTime: sygnatura czasowa rozpoczęcia przetwarzania e-maila.
- endTime: sygnatura czasowa zakończenia przetwarzania e-maila (czyli zakończenia w stanie
SUCCESS
lubERROR
). - 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
).