【问题标题】:Mule Imap: Store Email Attachments to a location and forward the email to other IDMule Imap:将电子邮件附件存储到某个位置并将电子邮件转发到其他 ID
【发布时间】:2013-10-18 12:41:07
【问题描述】:

我正在使用 Mule Imap 连接器从服务器获取邮件。我可以获取带有附件的电子邮件,而没有附件,我使用附件列表评估器将电子邮件中的附件返回给我,并使用拆分器遍历列表并复制文件夹的附件。 但这里的问题是我需要将相同的电子邮件转发到另一个没有附件且只有正文的 ID。 由于我使用了附件列表评估程序,我无法访问电子邮件正文。 任何有关如何转发不带附件的相同电子邮件的帮助将不胜感激。

下面是流程的配置xml

<imap:connector name="IMAP1" validateConnections="true" doc:name="IMAP" checkFrequency="15000"/>
<expression-transformer name="returnAttachments" doc:name="Expression">
    <return-argument evaluator="attachments-list" expression="*"/>
</expression-transformer>
    <file:connector name="fileName" doc:name="File">
    <file:expression-filename-parser/>
</file:connector>
<email:email-to-string-transformer name="Email_to_String" doc:name="Email to String"/>    

【问题讨论】:

    标签: imap mule


    【解决方案1】:

    将消息负载存储在expression-transformer 之前的流变量中:

    <set-variable variableName="emailBody" value="#[message.payload]" />
    

    然后在smtp:outbound-endpoint之前恢复它:

    <set-payload value="#[flowVars.emailBody]" />
    

    并删除email-to-string-transformer,没用。

    【讨论】:

    • 感谢 David 的回复,我已按照建议在表达式转换器之前设置了变量,但为变量设置了 NullPayload。 表达式转换器>。如果我在这里做错了什么,请告诉我
    • 会不会是邮件正文实际上在其中一个附件中?
    • 谢谢 david ,你是对的,当电子邮件中实际上有附件时,电子邮件正文也被添加为附件(通过检查 payload.size 确认,当电子邮件中有一个附件时返回 2 ) ,如果电子邮件中没有附件,payload.size 将返回 0。
    • 嗨,大卫,在我将附件上传/存储到外部位置之前,如何过滤掉作为 {NullPayload} 添加到附件中的电子邮件正文?
    猜你喜欢
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2023-03-24
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多