
# 向主题发布模板消息
#### 操作场景
消息模板指消息的固定格式。如果您要发布的消息内容丰富，并且这条消息需要多次发布，每次发布时需要变更的内容极少，此时您可以套用已创建的消息模板向订阅者发送消息。
在相同的消息模板名称下面，可创建一个或多个不同协议类型的消息模板来适配不同协议的订阅者，但必须包含一个Default协议类型的模板。不同协议类型的消息模板可以设置不同的模板内容，使用{tag}占位符代替变量。如果没有预置的Default协议的模板，将不允许发送该模板。
使用模板格式发送消息时，需要选择模板名称，名称选定后，系统会按照Default、SMS、Email、HTTP、HTTPS、FunctionGraph（函数）、FunctionGraph（工作流）的协议顺序，将该模板名称下不同协议的所有模板内容中的{tag}标签列出，重复的{tag}只列出一次，并在右侧显示拥有该{tag}的协议名称。设置{tag}值之后，消息通知服务会自动替换模板的{tag}标签为对应的参数值。如果{tag}没有设置参数值，模板内容不做替换。消息通知服务会按照模板名称和订阅者协议类型获取模板内容，如果对应订阅协议的模板内容不存在，将使用Default模板内容发送。
在这一部分中，您可以按照模板格式进行消息推送至您设定的订阅终端地址。在发送模板消息之前，您需要先创建好消息模板，关于消息模板的详细信息请参见[消息模板管理](https://support.huaweicloud.com/usermanual-smn/zh-cn_topic_0043394889.html)。
#### 前提条件
所有的订阅终端必须确认订阅才能收到推送消息，未确认的订阅终端不会收到消息。
#### 创建模板
1. 登录[SMN控制台](https://console.huaweicloud.com/smn/?#/dashboard)。
2. 在左侧导航栏，选择"主题管理" \> "消息模板"。 进入消息模板页面。
   
3. 请参见[创建消息模板](https://support.huaweicloud.com/usermanual-smn/smn_ug_0086.html)的步骤创建消息模板。
   例如使用以下信息创建模板
   - 模板名称："tem_001"
   
   - 协议："Default"
   
   - 模板内容："The Arts and Crafts Exposition will be held from {startdate} through {enddate}. We sincerely invite you to join us. "
   
   
   图1创建消息模板   
   ![](https://support.huaweicloud.com/usermanual-smn/zh-cn_image_0000001598972428.png "点击放大") 
 
#### 向主题发布模板消息
1. 登录[SMN控制台](https://console.huaweicloud.com/smn/?#/dashboard)。
2. 在左侧导航栏，选择"主题管理" \> "主题"。 进入主题页面。
   
3. 在主题列表中，选择您要向其发布消息的主题，在右侧"操作"栏单击"发布消息"。 或者单击"主题名称"，在主题详情页中，单击右上角的"发布消息"按钮。
   
4. 在弹出的发布消息对话框中，主题名称为已选择的需要发布消息的主题名称，不可修改；消息标题为可选参数，可不填写；其它参数根据界面提示填写。 此处"消息类型"选择"模板消息"，"消息内容"可以手动输入模板消息，也可以通过工具自动生成模板格式的消息。消息内容不能为空且大小不超过256KB。
   - 手动输入模板格式的消息，模板格式规范请参见[模板格式消息说明](https://support.huaweicloud.com/usermanual-smn/smn_ug_a2000.html)。
   
   - 通过工具自动生成模板格式的消息，请参见步骤[5]\~[8]。
    
5. 单击"生成模板消息"。
6. 在弹出的对话框中选择模板"tem_001"并在"变量"页签中设置"值"。
   系统自动将设置的值替换，其他内容则与模板内容保持一致。此处选择的模板名称下只有Default协议的模板，则该主题下所有已确认的订阅终端地址均可收到该模板消息。如[图2]所示。
   图2生成消息模板   
   ![](https://support.huaweicloud.com/usermanual-smn/zh-cn_image_0072038967.png "点击放大") 
7. 选择"预览"页签，单击"消息预览"，预览模板消息。
   该条模板消息的消息内容为"The Arts and Crafts Exposition will be held from February 10 through February 21. We sincerely invite you to join us. "，如[图3]所示。
   图3预览模板消息   
   ![](https://support.huaweicloud.com/usermanual-smn/zh-cn_image_0000002516028540.png "点击放大") 
8. 单击"确定"。
   生成的消息内容显示模板名称和所有{tag}标签。如[图4]所示。
   图4模板消息范例   
   ![](https://support.huaweicloud.com/usermanual-smn/zh-cn_image_0095492282.png "点击放大") 
9. （可选）根据界面提示，配置消息属性参数。消息属性用于限定消息发布范围，填写说明如[表1]所示。
    表1消息属性参数说明 
   | **参数** | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | 类型     | 选择需要限定发布消息的类型。 - 协议  - string.array  - String                                                                                                                                                                                                                                                                                      |
   | 名称     | 名称只能由数字、小写英文字母或下划线（_）组成，下划线不能作为结尾且不能连续出现，必须由数字或小写英文字母开头，长度不能超过32个字符且不能为空。 - 当"类型"取值为"协议"时，"名称"默认为smn_protocol。  - 当"类型"取值为"string.array"时，输入限定发布消息的数组名称。  - 当"类型"取值为"String"时，输入限定发布消息的字符串名称。                                                                                                                                          |
   | 值      | - 当"类型"取值为"协议"时，在下拉框中选择需要限定消息发布的协议类型，提供的选项为"短信"、"邮件"、"HTTP"、"HTTPS"、"FunctionGraph（函数）"、"FunctionGraph（工作流）。  - 当"类型"取值为"string.array"时，值必须为字符串数组，数组长度至少为1且不能超过10。 例如：\[ "email", "sms" \]。   - 当"类型"取值为"String"时，值只能由中文、数字、英文字母或下划线（_）组成，长度不能超过32个字符且不能为空。   |
      
   
10. 单击"确定"。 消息将推送至不同的订阅终端。各个终端接收到的消息内容说明请参考[不同协议消息说明](https://support.huaweicloud.com/usermanual-smn/smn_ug_a3000.html)。
    
 
