Quando um documento é adicionado à coleção, a extensão o seleciona para processamento de entrega de email. A extensão cria e atualiza um campo delivery
no documento à medida que processa o email.
Processamento de entrega de e-mail
O campo delivery
pode ser preenchido com os seguintes campos:
- estado: um de
PENDING
,PROCESSING
,SUCCESS
ouERROR
. - startTime: carimbo de data e hora de início do processamento do email.
- endTime: carimbo de data/hora quando o processamento do e-mail foi concluído (ou seja, terminou em estado
SUCCESS
ouERROR
). - erro: Se houve um erro na entrega do e-mail, uma mensagem de erro será preenchida aqui.
- tentativas: Número de tentativas de entrega deste e-mail.
- leaseExpireTime: Em caso de travamento ou tempo limite, o momento em que um estado
PROCESSING
deve ser considerado um erro. - info: Após a entrega bem-sucedida do e-mail (para pelo menos um endereço), este campo será preenchido com os seguintes campos:
- messageId: o ID da mensagem do e-mail entregue.
- aceito: matriz de endereços de e-mail para os quais o e-mail foi entregue com sucesso.
- rejeitado: matriz de endereços de e-mail para os quais o e-mail não pôde ser entregue.
- pendente: matriz de endereços de e-mail que foram rejeitados temporariamente pelo SMTP.
- resposta: A última resposta do servidor SMTP.
Um e-mail normalmente irá de PENDING
para PROCESSING
para SUCCESS
ou ERROR
. Uma vez no estado SUCCESS
ou ERROR
, alterações adicionais no documento não acionarão a extensão para enviar outro e-mail. Para reenviar um email com atualizações de documentos, você pode alterar o state
para PENDING
ou RETRY
.
Novas tentativas manuais
Há casos em que a entrega do e-mail falha de forma recuperável ou o documento pode ser corrigido manualmente para entrega adequada com pequenas modificações. Embora as novas tentativas não sejam automáticas, você pode alterar manualmente o state
no campo delivery
para RETRY
para que a extensão tente a entrega do e-mail novamente (e aumente o número de attempts
).