При добавлении документа в коллекцию расширение обрабатывает его для отправки по электронной почте. Расширение создаёт и обновляет поле delivery в документе по мере обработки письма.
Обработка доставки электронной почты
Поле delivery может быть заполнено следующими полями:
- состояние: одно из
PENDING,PROCESSING,SUCCESSилиERROR. - startTime: отметка времени начала обработки электронной почты.
- endTime: временная метка завершения обработки электронной почты (то есть завершения в состоянии
SUCCESSилиERROR). - ошибка: если произошла ошибка доставки электронного письма, здесь будет отображено сообщение об ошибке.
- попытки: Количество попыток доставки этого письма.
- leaseExpireTime: В случае зависания или тайм-аута время, по достижении которого состояние
PROCESSINGследует считать ошибкой. - информация: После успешной доставки электронного письма (хотя бы на один адрес) это поле будет заполнено следующими полями:
- messageId: идентификатор доставленного сообщения электронной почты.
- принято: Массив адресов электронной почты, на которые письмо было успешно доставлено.
- Отклонено: Массив адресов электронной почты, на которые электронное письмо не удалось доставить.
- ожидание: массив адресов электронной почты, которые были временно отклонены SMTP.
- ответ: Последний ответ от SMTP-сервера.
Электронное письмо обычно переходит из PENDING в PROCESSING , а затем в SUCCESS или ERROR . После перехода в состояние SUCCESS или ERROR дальнейшие изменения в документе не приведут к отправке нового письма. Чтобы повторно отправить электронное письмо с обновлениями документа, можно изменить state на PENDING или RETRY .
Ручные повторные попытки
В некоторых случаях доставка электронной почты может быть восстановлена, или документ можно вручную исправить для корректной доставки, внеся небольшие изменения. Хотя повторные попытки не выполняются автоматически, вы можете вручную изменить state в поле delivery на RETRY , чтобы расширение снова попыталось доставить электронное письмо (и увеличило количество attempts ).