Transactional email
Application emails that belong to a specific event.
Make the trigger explicit
Account confirmations, welcome messages and task notifications should each have an identifiable trigger. Keep transactional content focused on that event.
Design for retries
A network timeout does not prove a send failed. Keep one idempotency key per logical message so a retry does not create a duplicate.
Understand delivery status
Queue acceptance is not final delivery. Use logs and webhooks to track remote-server acceptance. Start free after confirming your email. No manual approval required.