# Delivery lifecycle

> What happens after a send attempt: the log entry, delivered / failed / finally-failed events, the queue, simulation mode and the test-email tool.

| Hook | Kind | Tier | Since | Summary |
| --- | --- | --- | --- | --- |
| [`boolean_smtp_email_delivery_failed_final`](/hooks/boolean_smtp_email_delivery_failed_final/) | action | A | 1.0.0 | Fires when a mail delivery attempt has failed with no further fallback to try. |
| [`boolean_smtp_email_event_data`](/hooks/boolean_smtp_email_event_data/) | filter | A | 1.0.0 | Filters the data describing a mail delivery event before it is announced and used to build a notification. |
| [`boolean_smtp_email_failed`](/hooks/boolean_smtp_email_failed/) | action | A | 1.0.0 | Fires after a send attempt has failed, before the fallback connection is tried. |
| [`boolean_smtp_email_log_deleted`](/hooks/boolean_smtp_email_log_deleted/) | action | B | 1.0.0 | Fires after an email log entry has been deleted. |
| [`boolean_smtp_email_logged`](/hooks/boolean_smtp_email_logged/) | action | B | 1.0.0 | Fires after an email log entry has been created. |
| [`boolean_smtp_email_queued`](/hooks/boolean_smtp_email_queued/) | action | A | 1.0.0 | Fires after an email has been added to the queue. |
| [`boolean_smtp_email_sent`](/hooks/boolean_smtp_email_sent/) | action | A | 1.0.0 | Fires after a message has been delivered successfully. |
| [`boolean_smtp_log_retention_days`](/hooks/boolean_smtp_log_retention_days/) | filter | A | 1.0.0 | Filters the number of days email logs are kept before the daily cleanup removes them. |
| [`boolean_smtp_process_queue`](/hooks/boolean_smtp_process_queue/) | action | B | 1.0.0 | Fires every minute while the email queue is enabled; each run sends one batch of queued messages. |
| [`boolean_smtp_prune_logs`](/hooks/boolean_smtp_prune_logs/) | action | B | 1.0.0 | Fires daily; each run deletes the email log entries older than the retention period. |
| [`boolean_smtp_queue_batch_size`](/hooks/boolean_smtp_queue_batch_size/) | filter | B | 1.0.0 | Filters how many queued messages one worker run sends. |
| [`boolean_smtp_should_notify_delivery_failure`](/hooks/boolean_smtp_should_notify_delivery_failure/) | filter | A | 1.0.0 | Filters whether a final delivery failure is announced and notified. |
| [`boolean_smtp_should_store_smtp_transcript`](/hooks/boolean_smtp_should_store_smtp_transcript/) | filter | B | 1.0.0 | Filters whether the SMTP transcript of a send is stored as a debug session file. |
| [`boolean_smtp_simulation_captured`](/hooks/boolean_smtp_simulation_captured/) | action | A | 1.0.0 | Fires after a message has been captured by Email Simulation Mode instead of being sent. |
| [`boolean_smtp_test_email_sent`](/hooks/boolean_smtp_test_email_sent/) | action | A | 1.0.0 | Fires after the admin test-email tool has attempted a send. |
