GreenMail 原子 getReceivedMessages() 和 purgeEmailFromAllMailboxes()

GreenMail atomic getReceivedMessages() and purgeEmailFromAllMailboxes()

有没有办法自动接收来自 GreenMail 的邮件,然后清除这些邮件?我不想多次收到任何消息。类似于 getReceivedMessagesAndPurge().

在我的代码中,我想将 GreenMail 收到的任何电子邮件写入磁盘。我的计划是每秒调用 GreenMail.getReceivedMessages() 并将收到的消息写入磁盘。之后我需要调用 GreenMail.purgeEmailFromAllMailboxes() 以便将任何消息只写入磁盘一次。但是有一个我不知道的竞争条件,如何避免。

您可以自己编写 MessageDeliveryHandler 来做到这一点。

示例: https://github.com/greenmail-mail-test/greenmail/blob/master/greenmail-core/src/test/java/com/icegreen/greenmail/examples/ExampleUndeliverableTest.java