Last Updated: February 25, 2016
·
317
· dimitrismistriotis

Email dispatch checklist

Steps:

  1. Introduce email dispatch trigger.
  2. Create "resend email" functionality within the (usually web) GUI.
  3. Background process that creates and dispatches the email. Even if a 3rd party service is used, the extra call should be initiated from a background process, as it is a potential point of failure.
  4. If necessary a flag on the database that would shield from multiple email dispatches.
  5. Error logging and retry mechanisms, specially if the environment does not provide a default.
  6. Decide on email subject. Try to add some entropy to make subjects unique.
  7. Write and test a dummy text and incorporate: recipient(s), CCs and BCCs for monitoring etc.
  8. Get email's copy and create the text version.
  9. Debug it with a person other than the developer that created it.
  10. Decide if an HTML version should be dispatched/is necessary. If so write one with HTML elements - without styling. That should be enough for a big number of cases.
  11. If necessary introduce styling/skinning. This is more difficult as it sounds.
  12. Decide on list of supported email clients.
  13. Test on clients identified on previous step.
  14. Consider including tracking which will feed with email client signatures. These can be used to dictate the inclusion of items in the list of step (11).

Details and notes: https://github.com/dimitrismistriotis/email_dispatch_checklist

Feel free to contribute.