Centralise outgoing email
We currently configure every app that needs outgoing email (including kratos) with the user-provided smtp configuration (relay smtp server, credentials) at installation time.
It would be helpful to instead have a single mail server running on the cluster (simple exim) which forwards all email to the user-provided mail server, and have all apps submit to this in-cluster mail server instead.
Advantages
- Makes it easier to debug issues with outgoing mail.
- Makes it easier to change the cluster's smtp configuration later on, not having to push this change on through all apps.
Disadvantages
- Yet another component to set up, update and manage.
- Exim, being a moderately modern email server from 1995, is not quite cloud-native so we may have to write our own dockerfile and/or helm chart, or adapt existing third-party ones.