Proposal: Rethinking and re-architecting the email delivery system

And this is the the original OP from @rcheesley (fond in the same URL as mentioned above).

With the current implementation, there are problems with sending transactional/operational emails such as order confirmations, shipping notifications, password reset emails, or 1-2-1 emails through Mautic from the contact profile.

Emails which are sent on an individual basis to a single person, and not in bulk, should be treated differently to those which are sent in bulk.

  • The emails still have the headers for a bulk email
  • A user can unsubscribe and stop receiving these emails - there is no selectivity to exclude these important communications from the DNC setting

Other providers are already addressing this issue:

  • Mailchimp Subscribe to list: no precedence, no unsubscribe
  • Amazon SES verification successful: no precedence, no unsubscribe
  • Apple store delivery notification: no precedence, no unsubscribe
  • Github Issue notification: Precedence: list, List-Unsubscribe

Read more in the forum thread: https://forum.mautic.org/t/personal-email-should-not-contain-an-unsubscribe-header-custom-email/18525/12

Key requirements

  • 1-2-1 emails should not have any unsubscribe or other indication that this email comes from a list. It should be the same as if the person sends it from their personal email client.
  • Transactional/operational emails should be separated from marketing emails so that users are still able to receive them if they set DNC (eg to ensure they still receive shipping emails, password resets etc)
  • Marketing emails should remain the same as they are now (bulk and unsubscribe). It should not be possible to remove the unsubscribe header. Since this is just best practice and will only hurt the client’s domain reputation in the long run.
  • Transactional emails should have a global setting that enables the administrator to turn bulk and unsubscribe headers on or off (with big warnings about misusing)
  • A permission level so that only specific roles can create and send transactional/operational/121 emails

Ideas for how this might be approached

Note that these have been suggested and are not necessarily to be considered the right way to approach the problem. They are provided for ideas/inspiration.

  • Add a flag to template & segment emails for Operational (yes/no). When this is set to yes, the {unsubscribe_url} token would not be forced in to the email and the email would still be sent even if a contact has unsubscribed.
  • Add an option for Operational along with Transactional & Marketing in the campaign event editor. Selecting that option would do the same as the flag on the emails.
  • Set manual emails sent from a contact profile to automatically use the correct headers and not use any unsubscribe links