A extensão seleciona um documento, quando ele é adicionado à coleção, para processar
o envio de e-mails. Com a extensão, você cria e atualiza um campo delivery
no
documento enquanto o e-mail é processado.
Processamento de entrega de e-mails
O campo delivery
pode ser preenchido com os seguintes campos:
- state: um dos campos
PENDING
,PROCESSING
,SUCCESS
ouERROR
. - startTime: carimbo de data/hora em que o processamento de e-mails começou.
- endTime: carimbo de data/hora em que o processamento de e-mails foi concluído. Ou seja, no estado
SUCCESS
ouERROR
. - error: se houver um erro na entrega do e-mail, uma mensagem de erro será exibida aqui.
- attempts: o número de tentativas de entrega deste e-mail.
- leaseExpireTime: no caso de congelamento ou tempo limite atingido, o horário em que o estado
PROCESSING
será considerado um erro. - info: após o envio 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.
- accepted: matriz de endereços de e-mail para os quais o e-mail foi entregue.
- rejected: matriz de endereços de e-mail para os quais não foi possível entregar o e-mail.
- pending: matriz de endereços de e-mail que foram temporariamente rejeitados pelo SMTP.
- response: a última resposta do servidor SMTP.
Um e-mail normalmente é enviado de PENDING
para PROCESSING
como SUCCESS
ou
ERROR
. Depois que o e-mail estiver no estado SUCCESS
ou ERROR
, outras alterações no
documento não acionarão a extensão para enviar outro e-mail. Para enviar outro
e-mail com atualizações no documento, altere state
para PENDING
ou RETRY
.
Novas tentativas manuais
Quando o envio do e-mail falha, há casos em que é possível recuperá-lo
ou corrigir o documento manualmente para garantir a entrega com pequenas
modificações. Embora as tentativas não sejam automáticas, é possível alterar manualmente o
state
no campo delivery
para RETRY
. Dessa forma, a extensão tentará entregar
o e-mail novamente (e aumentará o número de attempts
).