【问题标题】:jodd mail EmailFilter does not workjodd 邮件电子邮件过滤器不起作用
【发布时间】:2018-06-26 10:02:19
【问题描述】:

我用

receiveEmailAndMarkSeen(EmailFilter.filter().flag(Flags.Flag.SEEN,true));

过滤我没有阅读的消息,但该函数返回空数组。如果我设置 false 它会返回所有消息。

试了很多次,不知道怎么回事

有人可以帮我吗?

【问题讨论】:

    标签: email jodd


    【解决方案1】:

    这可能取决于目标服务器。您使用的是 IMAP 还是 POP 服务器? IMAP 通常更适合您的用例。

    这是一个对我有用的例子:

        ImapServer imapServer = MailServer.create()
            .host("imap.gmail.com")
            .ssl(true)
            .auth("user", "password")
            .buildImapMailServer();
    
        ReceiveMailSession session = imapServer.createSession();
        session.open();
    
        ReceivedEmail[] mails =
                session.receiveEmailAndMarkSeen(
                EmailFilter.filter().flag(Flags.Flag.SEEN, false));
    
        Arrays.stream(mails).map(CommonEmail::subject).forEach(System.out::println);
    
        session.close();
    

    我的邮箱:

    程序输出:

    附言尝试下载所有电子邮件并检查收到的电子邮件的Flag。另外,请使用 IMAP。

    【讨论】:

    • 我用过pop3。我想你是对的。非常感谢。
    猜你喜欢
    • 2014-07-05
    • 2018-01-01
    • 1970-01-01
    • 2011-05-18
    • 2016-12-14
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多