enum-reference · implemented
Enum — EmailDeliveryAttemptStatus
Estados da tentativa de transporte de uma mensagem de e-mail.
Contrato proposto
| Case | Valor persistido | Significado |
|---|---|---|
Queued | queued | Tentativa criada e aguardando Job. |
Sent | sent | SMTP/provedor aceitou a mensagem. |
Failed | failed | Transporte 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\EmailDeliveryAttemptStatuscomo 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 → sentequeued → failed, reprocessamento e criação de nova linha no reenvio. - Salvar
sentsomente quando o transporte aceita o envio.