我正在使用SMTP连接器在Mule中发送带有csv附件的电子邮件。
从Mule生成的电子邮件上有两个附件。
第一个是名为Payload
的文件。
第二个是我明确添加myFile<date>.csv
如何摆脱Payload
附件?根据我的理解,Payload文件中的内容应该显示为电子邮件的内容。但这并不是正在发生的事情,而是作为一种依恋出现。
以下是我发送电子邮件的子流程图。进入的有效载荷是csv。
<sub-flow name="paymentReconSendMailSubFlow">
<set-attachment attachmentName="myFile-#[server.dateTime.format("yyyyMMddHHmmss") + '.csv']" value="#[payload]" contentType="application/csv" doc:name="Attachment"/>
<set-payload doc:name="Set Payload" value="#[null]"/>
<smtps:outbound-endpoint host="${smtp.host}" port="${smtp.port}" user="${smtp.username}" password="${smtp.password}" connector-ref="SMTP" to="${smtp.toAddress}" from="${smtp.fromAddress}" subject="BLAH" replyTo="${smtp.replyToAddress}" responseTimeout="10000" mimeType="text/html" doc:name="SMTP"/>
</sub-flow>
以下是我收件箱中的内容。
答案 0 :(得分:1)
看起来Mule仍然将消息有效负载的内容类型设置为application / csv,因此认为您的null有效负载是CSV。尝试添加mimeType =&#34; text / plain&#34;到set-payload元素
答案 1 :(得分:0)
你可以尝试在附加之前将csv文件序列化为字节数组吗?
例如:
<file:inbound-endpoint path="${output.folder}" doc:name="File"/>
<file:file-to-byte-array-transformer doc:name="File to String"/>
<set-attachment value="#[message.payload]" contentType="application/csv"
attachmentName="#['myfile.csv']"
doc:name="Attachment" />
告诉我们是否正常工作,问题是在发送
之前文件的序列化