SGEProduto · Domínio · Desenvolvimento
Repositório

enum-reference · implemented

Enum — EmailDeliveryAttemptStatus

Estados da tentativa de transporte de uma mensagem de e-mail.

Contrato proposto

CaseValor persistidoSignificado
QueuedqueuedTentativa criada e aguardando Job.
SentsentSMTP/provedor aceitou a mensagem.
FailedfailedTransporte falhou ou o Job não conseguiu concluir.

O fluxo é direto: queued passa para sent quando o SMTP/provedor aceita a mensagem, ou para failed quando ela falha. notifications.read_at continua sendo a fonte da leitura interna. Não usar sending, read ou delivered sem decisão explícita.

Checklist de implementação

  • Criar App\Enums\EmailDeliveryAttemptStatus como enum string.
  • Implementar rótulos e opções da interface.
  • Adicionar cast em EmailDeliveryAttempt.
  • Persistir os valores do enum em email_delivery_attempts.
  • Testar cases, valores, rótulos e opções.
  • Testar as transições queued → sent e queued → failed, reprocessamento e criação de nova linha no reenvio.
  • Salvar sent somente quando o transporte aceita o envio.

Relacionamentos