Sending Your First Email: Part 3

综合编程 2018-12-07 阅读原文

Day 7

25 Days of Sitecore EXM !

Sending Your First Email Continued

Day 7 brings us Part 3 of the mini-series in the 25 Days of Sitecore EXMSending Your First Email which is designed to be a short, step by step guide for creating your first Sitecore Email Experience Manager message. Today we’re focusing on editing our  Hello EXM World message in EXM using the EXM Experience Editor.  

Let’s start off by bringing our message back up! If you recall from yesterday’s post, we walked through how to dig the message out of the Draft’s folder in EXM. Go ahead and click on our message and then click on the Message tab.

EXM Experience Editor Slowness

After clicking on the Message tab when editing a message in EXM, it’s possible that it takes a few seconds (or longer) for the message preview to actually show. This is because it’s the first time that Sitecore has loaded the libraries needed to support Experience Editor and it might take a bit longer. If this happens to you, try refreshing the page. Once it works, it works fast.

Message Tab – In Detail

The Message tab has quite a bit going on in a small amount of space. Let’s explore each item on the tab. The numbers in the lists below match the purple tags in the screenshot.

Message Controls

The message controls show up on all tabs.

1. Root Manager Switcher

The Root Manager Switcher allows the author to swap between root managers if there are more than 1.

2. Language Selector

If your Sitecore instance is configured with multiple languages, this allows you to select the language you want to edit the message item in.

3. Email Campaign Actions

This is a small menu that reveals the duplicate email campaign action.


4. Message Variant Bar

The Message Variant bar shows any variants that might be in the message. Variants are used when wanting to do A/B Testing within EXM Messages. You can specify multiple variants in the same email message that can have different content in each variant. During dispatch, if multiple variants are being used, you have the option to set up the A/B testing rules for dispatch.

Clicking the plus button in the Message Variant Bar will add a variant to the EXM message. 

Message Details Function Bar

5. Duplicate Variant

This button, when clicked will duplicate the current variant message and create a new variant using the same content.

6. Edit Message Body

Clicking the Edit Message Body button will open up the message for editing. This mode opens the EXM Experience Editor window.

7. Preview Message as Specific Contact

This action allows the author to view the message in preview mode as a specific recipient that is in the Included Recipients list.

8. Message Details Options Menu

Most of the options in this drop down are easy to understand their function. There is a cool option here, where you can ADD buttons to the Message Details bar by selecting the star next to a function. This adds a button to the bar as a quick action.

Additionally, the Insert token action is special.  When a text field is selected (like the  Subject Line ) and this action is clicked, it opens up a list of Token personalization options that can be selected.  Tokens are replaced during dispatch with data from the Recipients xDB Contact facet.  Tokens can be used ANYWHERE in a message (including the Message Body).

Tokens are formatted and look like this: $tokenname$. So for example, as shown below in the  Insert Token selection box, choosing  Firstname will add  $firstname$ token to the selected field.

Token Personalization Is Extendable

A Developer can extend and add custom tokens for use in EXM Token Personalization. Doing so is a rather involved process, however Sitecore does have really great documentation on how to create custom tokens .

9. Subject Line

Hello! This is the actual Subject line that Recipients receiving this email will read. Go ahead and put in an interesting subject line. For the purposes of this example, we’re going to put in the following:

Hello $firstname$! Welcome to Emails by EXM!

Token Reformatting

When using a token in the Subject line, the  $$’s are removed. So our Subject, after copying in our subject line above, $firstname$ is reformatted to look like  Firstname

10. Message Body

The message body is the actual preview of the message being sent. This box is just a preview. Clicking ANYWHERE in the message body will open up the EXM Experience Editor .

Editing the message is identical to the editing the experience of a page item in Sitecore. You have the same options, like personalizations, placeholders, and components.  Components have data sources. Rich text boxes will open up the Rich Text Editor.

Save The Message Often

When making big changes, like swapping out or adding components to the message, make sure to save the message often to ensure that the presentation information is always up to date. Using the save icon in the top left, is the easiest way to save.

Feel free to spend some time working in the Experience Editor editing the Sample Newsletter email template. Add a picture. Links, etc, to get an idea on how the editor works. Once you have your test message changes complete, click the Save and Close button.

11. Alternative Text

Not all email clients are capable of rendering HTML content. In those cases, the client looks for the alternative text message text that it can render. This field is a TEXT/ASCII field only. An example would include text readers.

Save Your Work!

Don’t forget to hit the big blue Save button once you are done editing your message. This allows you to leave EXM and do something else. and then come back where you left off. Which we’ll do tomorrow!

Anatomy of an Email Message

When editing a message in Sitecore Email Experience Manager, changes are actually being saved to a Sitecore item, just like editing any other Sitecore item. There are specific parts to an email message to know about.  As the image below shows, this is the tree structure for our Hello EXM World message.

1. Message Item

This is the primary Message Item representing an EXM Email Message. The Item ID of this item is the Guid ID used whenever this email message needs to be referenced. Information saved on the General and Recipient Tabs are saved on this item in associated fields.

2. Message Root

The immediate child item of any Email Message Item is the Message Root . This is the item that is considered the  Layout Item that contains the Presentation settings of the email. When editing the message body of an EXM Message, this is the item being saved to when presentation changes.

3. Data Source Items

Components defined on the Message Root keep their associated Data Source items as children of the Message Root . All of the items presented are simply data sources for the components.

Email Templates

Email Templates are nothing more than Branch Templates defined in the Templates folder.  Message Item branch templates go ahead and include all of the child data source items in the Branch Template. This allows a developer to create a custom Message template with presentation and data sources completely baked in and ready for content entry.

This completes our run down of the Message tab in an EXM Message and concludes Day 7! I hope that you are enjoying this series! Tomorrow, we detail out the Delivery tab and perform our first EXM Dispatch! Woot!

Don’t forget to register for my Sitecore EXM webinar on December 13 EXM Live! An Email Automation Experience !

Register for EXM Live! Webinar

To register for this webinar, visit

责编内容by:Sitecore Hacker 【阅读原文】。感谢您的支持!


The form block submit JS does not work I want to check some forms values before submit it. So I put this into my :
js的冒泡机制详解 一、什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到...
msMaker后台管理系统生成工具 msMaker线上地址: msMaker使用说明:
JavaScript中的5个实用窍门 web前端学习扣qun:584226069免费领取全套教学视频资料! 1. 删除数组尾部元素 一个简单方法就是改变数组的length值: const arr = ; // truncanting ...
Code does not work in advance Here is my code: var divarray = document.getElementById("yui-main").getElementsByTagName("div"); var articleHTML; var ...