Gdy dokument zostanie dodany do kolekcji, rozszerzenie pobierze go do przetworzenia w celu dostarczenia e-mailem. Podczas przetwarzania e-maila rozszerzenie tworzy i aktualizuje w dokumencie pole delivery.
Przetwarzanie w celu dostarczenia e-mailem
Pole delivery może zawierać te pola:
- state (stan): jedna z wartości:
PENDING(oczekujący),PROCESSING(przetwarzanie),SUCCESS(powodzenie) lubERROR(błąd). - startTime (czas rozpoczęcia): sygnatura czasowa rozpoczęcia przetwarzania e-maila.
- endTime (czas zakończenia): sygnatura czasowa zakończenia przetwarzania e-maila (czyli zakończenia w stanie
SUCCESSlubERROR). - error (błąd): jeśli wystąpił błąd dostarczenia e-maila, pojawi się tu komunikat o błędzie.
- attempts (próby): liczba prób dostarczenia tego e-maila.
- leaseExpireTime (czas wygaśnięcia dzierżawy): w przypadku zawieszenia lub przekroczenia limitu czasu – czas, po którym stan
PROCESSINGpowinien być traktowany jako błąd. - info (informacje): po pomyślnym dostarczeniu e-maila (na co najmniej 1 adres) to pole zostanie wypełnione tymi polami:
- messageId (identyfikator wiadomości): identyfikator dostarczonego e-maila.
- accepted (zaakceptowane): tablica adresów e-mail, na które e-mail został dostarczony.
- rejected (odrzucone): tablica adresów e-mail, na które e-mail nie mógł zostać dostarczony.
- pending (oczekujące): tablica adresów e-mail, które zostały tymczasowo odrzucone przez SMTP.
- response (odpowiedź): ostatnia odpowiedź z serwera SMTP.
E-mail zwykle przechodzi ze stanu PENDING do stanu PROCESSING, a następnie do stanu SUCCESS lub ERROR. Gdy e-mail osiągnie stan SUCCESS lub ERROR, dodatkowe zmiany w dokumencie nie spowodują, że rozszerzenie wyśle kolejnego e-maila. Aby ponownie wysłać e-maila ze zaktualizowanym dokumentem, możesz zmienić state na PENDING lub RETRY.
Ręczne ponawianie
W niektórych przypadkach dostarczenie e-maila nie powiedzie się w sposób, który można naprawić, lub dokument można ręcznie poprawić, aby go dostarczyć, wprowadzając drobne zmiany. Ponawianie nie jest automatyczne, ale możesz ręcznie zmienić state w polu delivery na RETRY, aby rozszerzenie ponownie spróbowało dostarczyć e-maila (i zwiększyło liczbę attempts).