jodd mail EmailFilter 不起作用
jodd mail EmailFilter does not work
我用
receiveEmailAndMarkSeen(EmailFilter.filter().flag(Flags.Flag.SEEN,true));
过滤我不看的消息,但是函数returns空数组。如果我设置 false
它 returns 所有消息。
测试了很多次,不知道哪里出了问题
有人可以帮我吗?
这可能取决于目标服务器。您使用的是 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();
我的邮箱:
程序输出:
p.s。尝试下载所有电子邮件并检查 Flag
收到的电子邮件。另外,使用 IMAP。
我用
receiveEmailAndMarkSeen(EmailFilter.filter().flag(Flags.Flag.SEEN,true));
过滤我不看的消息,但是函数returns空数组。如果我设置 false
它 returns 所有消息。
测试了很多次,不知道哪里出了问题
有人可以帮我吗?
这可能取决于目标服务器。您使用的是 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();
我的邮箱:
程序输出:
p.s。尝试下载所有电子邮件并检查 Flag
收到的电子邮件。另外,使用 IMAP。