定义Apache Camel路由URI选项以避免垃圾邮件

时间:2016-10-21 09:43:53

标签: groovy apache-camel imap apache-camel-mail

我希望在使用Apache Camel从imap端点读取时避免垃圾邮件。

我的端点以这种方式配置:

def camelContext = new DefaultCamelContext()
camelContext.addRoutes(new RouteBuilder() {
    def void configure() {
        from("imap://localhost:3143?username=myuserame&password=mypassword"
             + "&delete=false"
             + "&unseen=true"
             + "&consumer.delay=600" 
             + "&fetchSize=10" 
             + "&maxMessagesPerPoll=10").process{ exchange ->
                ...
            }

我想添加searchTerm,以避免在主题中标记为*****SPAM****或标题为X-Spam-Flag: YESX-Spam-Status: YES的消息。

我还想将一些电子邮件地址列入黑名单,但我想这可以在阅读完邮件后执行此操作。

1 个答案:

答案 0 :(得分:0)

是的,您需要实现一个自定义avax.mail.search.SearchTerm类,您可以在其中过滤邮件消息。您可以在以下网址找到更多详细信息:http://camel.apache.org/mail.html如何使用自定义搜索字词类。您也可以查看驼峰邮件的单元测试源代码。

这些垃圾邮件标题是标准的吗?我问我们可以考虑添加一个支票OOTB,如果他们有一个垃圾邮件标题,可以跳过这些邮件。