骡子 - 个性化身体SMTP组件

时间:2016-02-09 18:50:07

标签: string email smtp mule payload

我有mule flow执行以下操作:

HTTP => JSON to XML => XSLT => Logger => SMTP

我希望使用message.payload和我的个人文字个人化身体到电子邮件中,例如:

  

已收到包含以下信息的XML消息:

#[message.payloadAs(java.lang.String)]

message.payload是使用XML转换的XSLT component,电子邮件将按以下方式收到:

  

已收到包含以下信息的XML消息:

     

author:Gambardella, Matthew

我需要用文字对邮件进行个性化设置吗?

我应该使用payload component还是property

1 个答案:

答案 0 :(得分:3)

SMTP连接器它将使用有效负载作为邮件正文,因此只需在有效负载中设置要发送的内容,例如:

<set-payload value="It has received an XML message with the following information: #[message.payloadAs(java.lang.String)]" doc:name="Set Payload"/>

现在,如果你想发送这封电子邮件有HTML邮件,那么在你的有效载荷中你可以添加html标签甚至样式你可以通过向SMTP添加全局连接器并在全局连接器上设置contentType,注意仅在SMTP端点上设置mimeTypedirectly将不起作用:

<smtp:connector name="SMTP_exception_mailer" contentType="text/html" validateConnections="true" doc:name="SMTP"/>
<smtp:outbound-endpoint host="host" port="25" connector-ref="SMTP_exception_mailer" to="you@me.com" from="system@mule" mimeType="text/html" doc:name="SMTP"/>

复杂HTML邮件的奖金提示

如果你想发送复杂的html邮件,很明显使用set-payload组件会很复杂,一个很好的选择是使用parse template component,这样你就可以编写你的html在外部文件中也使用MEL表达式。