Is Sitecore EXM Suitable for All Email Needs?
Sitecore's Email Experience Manager (EXM) is frequently considered to be an all-purpose suite for handling all email functionality in Sitecore. This isn't completely accurate, however, so let's clear up the confusion.
EXM is designed for managing and dispatching email marketing campaigns, and while it can be bent to handle simple transactional-type email, most uses outside of marketing scenarios would be better suited by other solutions (including custom tooling for email needs).
When Should I Use EXM?
Email and automated marketing in Sitecore is designed to work with known contacts (also known as identified contacts). The best use for email marketing is to send advertising and other marketing communication to users who have interactive with your site and have opted-in to a continued relationship with your site.
An identified user should have an email address on file, and at this point can be managed via xConnect and/or List Manager for EXM to be useful.
Why Should I Not Use EXM?
If you need to send transactional email - for example, to notify of a form submission to an arbitrary contact - EXM is not the best choice.
EXM is not suitable when the intended recipients are not end-users of your site; it's not intuitive from a business or development perspective to bring internal business users into xConnect just for the purpose of sending an email.
A Real-World Example
Take a simple "contact us" form built in Sitecore 9 Forms with a few basic fields: name, email address, message, submit button.
This form should send two emails when it's submitted:
- notification to the user that the submission was successful
- notification to an internal business user that the form was submitted
Sitecore Forms' has an email action that addresses #1: Send Email Campaign Message. This action is designed to email the end-user based on the email address entered in the form.
The second requirement would require custom code - either a custom submit action (helpful articles here and here) to dispatch an email or a custom integration with EXM that involves: importing a business user into EXM, mucking with the xConnect API, and dispatching the automated email campaign.
It is important to use EXM for the purpose it was intended: managing email campaigns. Trying to use it as a jack-of-all-trades email tool can result in extra and unnecessary effort.
The best resource for all-things Sitecore Email Experience Manager is still Pete Navarra's 25 Days of Sitecore EXM. I highly recommend all Sitecore marketers and developers start there to understand the best uses for EXM.
Do you have questions, comments, or corrections for this post? Find me on Twitter: @BrandonMBruno