Zarządzanie stanem dostarczenia za pomocą rozszerzenia e-maila aktywującego
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Gdy dokument zostanie dodany do kolekcji, rozszerzenie pobierze go do przetworzenia i wysłania e-mailem. Podczas przetwarzania e-maila rozszerzenie tworzy i aktualizuje pole delivery
w dokumencie.
Przetwarzanie dostarczania poczty e-mail
Pole delivery
może zawierać te pola:
- 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 dostarczania e-maila, pojawi się tu komunikat o błędzie.
- attempts: liczba prób dostarczenia tego e-maila.
- leaseExpireTime: w przypadku zawieszenia lub przekroczenia limitu czasu czas, w którym stan
PROCESSING
powinien być uznawany za błąd.
- info: po pomyślnym dostarczeniu e-maila (na co najmniej 1 adres) to pole zostanie wypełnione tymi polami:
- messageId: identyfikator dostarczonego e-maila.
- 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ź z serwera SMTP.
E-mail zwykle przechodzi z PENDING
do PROCESSING
, a następnie do SUCCESS
lub ERROR
. Gdy dokument jest w stanie SUCCESS
lub ERROR
, dodatkowe zmiany w dokumencie nie spowodują wysłania kolejnego e-maila przez rozszerzenie. Aby ponownie wysłać e-maila z aktualizacjami dokumentu, 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 dostarczyć go prawidłowo, wprowadzając niewielkie zmiany. Ponowne próby nie są automatyczne, ale możesz ręcznie zmienić wartość w polu delivery
na RETRY
, aby rozszerzenie ponownie spróbowało dostarczyć e-maila (i zwiększyło liczbę attempts
).state
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-25 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-25 UTC."],[],[],null,["\u003cbr /\u003e\n\nWhen a document is added to the collection, the extension picks it up for email\ndelivery processing. The extension creates and updates a `delivery` field in the\ndocument as it processes the email.\n\nEmail delivery processing\n\nThe `delivery` field can be populated with the following fields:\n\n- **state:** One of `PENDING`, `PROCESSING`, `SUCCESS`, or `ERROR`.\n- **startTime:** Timestamp when email processing began.\n- **endTime:** Timestamp when email processing completed (that is, ended in either a `SUCCESS` or `ERROR` state).\n- **error:** If there was an email delivery error, an error message will be populated here.\n- **attempts:** Number of delivery attempts for this email.\n- **leaseExpireTime:** In case of a hang or timeout, the time at which a `PROCESSING` state should be considered an error.\n- **info:** After successful email delivery (to at least one address), this field will be populated with the following fields:\n - **messageId:** The message ID of the delivered email.\n - **accepted:** Array of email addresses to which the email was successfully delivered.\n - **rejected:** Array of email addresses to which the email could not be delivered.\n - **pending:** Array of email addresses that were temporarily rejected by SMTP.\n - **response:** The last response from the SMTP server.\n\nAn email will typically go from `PENDING` to `PROCESSING` to either `SUCCESS` or\n`ERROR`. Once in the `SUCCESS` or `ERROR` state, additional changes to the\ndocument will not trigger the extension to send another email. To resend an\nemail with document updates, you can change the `state` to `PENDING` or `RETRY`.\n\nManual retries\n\nThere are instances in which email delivery fails in a recoverable fashion or\nthe document can be manually corrected for proper delivery with minor\nmodifications. While retries are not automatic, you can manually change the\n`state` in the `delivery` field to `RETRY` so that the extension attempts email\ndelivery again (and increments the number of `attempts`)."]]