Gerenciar o status de entrega com a extensão do acionador de e-mails

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 ou ERROR.
  • 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 ou ERROR.
  • 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).