基于主题的Mule 3.8 POP3连接器过滤器

时间:2017-05-10 22:13:24

标签: filter mule pop3 subject

我正在尝试仅从符合主题条件的共享邮箱中接收电子邮件。

这是我目前的流程。 它应该抓取电子邮件,将附件设置为有效负载,然后将该有效负载保存到资源文件夹中的文件,其中包含原始文件名,以便在以后的流程中使用。

<flow name="Retrieve_Email_and_Save_to_Attachments">
    <pop3:inbound-endpoint host="00.00.00.00" user="xxx" password="xxx" connector-ref="POP3" responseTimeout="10000" doc:name="POP3" metadata:id="50f9b85e-6ff6-4b39-9185-75fcd91076a1"/>
    <message-property-filter pattern="subject = 'Test Mule File'" caseSensitive="false" scope="inbound" doc:name="Message Property"/>
    <expression-transformer doc:name="Set Payload from Attachments">
        <return-argument evaluator="attachments" expression="*.*"/>
    </expression-transformer>
    <set-variable variableName="fileName" value="#[payload.keySet().iterator().next()]" doc:name="Set fileName"/>
    <set-payload value="#[payload[flowVars.fileName].getContent()]" doc:name="Set Payload from first Attachment content"/>
    <logger message="#['\n\n']Payload is: #['\n\n'+payload+'\n\n']" level="INFO" doc:name="Logger"/>
    <file:outbound-endpoint path="src/main/resources/attachments/" outputPattern="#[flowVars.fileName]" connector-ref="File" responseTimeout="10000" mimeType="text/plain" doc:name="File"/>
</flow>

我遇到的问题是POP3连接器正在拾取邮箱中的所有电子邮件,无论主题行内容如何,​​从服务器中删除它们,只处理符合条件的邮件。

有没有办法只删除通过过滤条件的项目? 或者只选择通过过滤条件的电子邮件?

1 个答案:

答案 0 :(得分:0)

我认为骡子根据骡子文件没有这个功能。

https://docs.mulesoft.com/mule-user-guide/v/3.7/pop3-connector

您可以选择这样做。

从pop3中搜索主题行并执行选择操作,然后您只能获得想要的主题行电子邮件。