我有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
?
答案 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表达式。