How should 'technical' or transactional emails be implemented.

We are having trouble deciding how we should implement transactional emails in our solutions. For example emails like the forgot password, for completing a registration or for an order on the website.

Currently we are overseeing the following two options:

  1. Sending with emails configured in the email channel
  2. Sending from within code

Both I think with its own pros and cons. Of course most of them are also debatable.

Email channel In code
Easily editable by content editors ✅ ❌
Easily controllable by developers ❌ ✅
Dedicated (non internal) API in Kentico ❌ ✅
Reuse of components between marketing and transactional emails ✅ ❌
Open and clicking tracking ✅ ❌
Reuse of the same sender and delivery settings between marketing and transactional emails ✅ ❌
Easiliy use dynamic data ❌ ✅
Versioning ❌ ✅
Not necessarily tied to contacts ❌ ✅
No additional license requirement (?) ❌ ✅

We also have found out that in the SaaS environment there isn't the possibility to have the same email domain as system domain and as channel domain. See point 5: (https://docs.kentico.com/documentation/developers-and-admins/configuration/email-configuration#custom-system-email-domains-in-the-saas-environment) That makes it not possible to use your website address e.g. kentico.com as your email domain that you can use for sending emails within code.

What are you using as the way to send this kind of transactional emails? What are your experiences?

Answers

To response this discussion, you have to login first.