【问题标题】:Sending a file attachement with Mule使用 Mule 发送文件附件
【发布时间】:2014-02-19 21:13:21
【问题描述】:

我已经看到了这个答案,但它没有显示您如何使用 MEL 在值字段中发送文件。如果您在其中输入一些值,那就是文件的内容。我假设您必须使用 MEL 将有效负载从文件端点连接器移动到附件值属性。

还有如何动态设置内容类型

Mule SMTP - send email with attachment

谢谢

贾科。

【问题讨论】:

    标签: mule


    【解决方案1】:

    您可以使用file-to-string-transformer 将您的文件转换为字符串。您还可以使用 Mule 变量、属性等来定义内容类型或其他参数。示例:

    <file:inbound-endpoint path="/tmp/attachments" responseTimeout="10000"/>
    <file:file-to-byte-array-transformer/>
    <set-variable variableName="ct" value="test/plain" />
    <set-attachment attachmentName="#[message.outboundProperties.filename]" value="#[payload]" contentType="#[flowVars['ct']]"/>
    <set-payload value="this is my message"/>
    <smtp:outbound-endpoint... 
    

    【讨论】:

    • 嗨安东。谢谢你。我要做的就是将文件作为附件发送。它应该是相同的类型和内容。看来您正在创建文件内容。假设我有一个文件夹 c:\file,我将一个包含世界 halo 世界的文本文件 values.txt 复制到其中。该文件应按原样通过电子邮件发送。我现在得到的是内容 hello world 在电子邮件正文中。假设我将 jpg 文件复制到同一个文件夹中。然后它应该可以邮寄 jpg 文件,并且电子邮件客户端应该能够打开图像。这有意义吗?
    • 更新了示例,它现在适用于所有文件类型并包括原始文件名。对于内容类型,您可能必须通过检查文件扩展名来确定,并为您要支持的每种类型有条件地设置它。或者找到一些这样做的库/脚本。
    猜你喜欢
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多