如何解决Mule Email Connector读取Payload发邮件时的语法错误
Mule邮件正文拼接语法错误修复方案

错误原因
当前语法错误来自DataWeave表达式中字符串拼接逻辑不符合规范,未正确使用DataWeave插值语法,导致表达式解析失败。
正确实现代码
根据实际使用场景可选以下两种实现:
场景1:单ID拼接
仅需读取单个ID值拼接静态内容时,直接用字符串插值即可:
%dw 2.0 output text/plain --- "本次同步的业务ID为:$(vars.businessId) 请相关人员登录系统查看对应业务单据并完成审核。 ------ 系统自动发送邮件,请勿直接回复"
场景2:多ID列表拼接
需要读取多个ID组成的列表时,先将列表转成指定分隔符的字符串再拼接:
%dw 2.0 output text/plain --- "本次待处理的业务ID列表如下: $(vars.idList joinBy "、") 请在3个工作日内完成所有单据的校验工作。 ------ 系统自动发送邮件,请勿直接回复"
注意事项
- 如果ID值存储在payload中,将代码中的
vars.xxx替换为payload.对应字段名即可 - 如果需要发送HTML格式邮件,将
output text/plain修改为output text/html,在字符串中直接插入HTML标签即可实现自定义排版效果 - 可以先在Transform Message组件的预览功能中验证拼接结果符合预期后,再关联到邮件发送组件的body参数
内容的提问来源于stack exchange,提问作者Naga Raj
相关产品推荐
相关产品推荐

