gpt4 book ai didi

java - 使用 javax.mail 删除服务器上的电子邮件

转载 作者:IT老高 更新时间:2023-10-28 20:55:17 26 4
gpt4 key购买 nike

我正在使用 IMAP 协议(protocol)从服务器接收电子邮件,就像它所描述的 here .这工作得很好,我可以将电子邮件和附件存储在磁盘上。

问题:当客户端尝试接收所有电子邮件时,我是否可以从服务器中删除文件,以便它们不再可用?如果是这样,请告诉我怎么做。

最佳答案

您应该能够通过标准 API 执行此操作。

首先,您需要获得对要删除的 Message(或消息)的引用 - 如果您成功阅读它们,那么您已经能够执行此操作。现在,没有明确的 delete() 操作,但您可以像这样将消息标记为已删除:

message.setFlag(Flags.Flag.DELETED, true);

这会将邮件标记为已删除(这通常是桌面 IMAP 客户端中的删除操作所执行的操作)。为了强制删除已删除的消息,当您完成它们所在的 Folder(s) 时,调用

folder.close(true);

其中 true 标志指示服务器删除所有已删除的消息。

瞧!当客户端使用任何 IMAP 客户端连接到服务器时,客户端不应再看到这些消息。

编辑:

不要忘记以 READ_WRITE 模式打开文件夹,否则消息实际上不会从服务器中删除。

folder.open(Folder.READ_WRITE);

见:http://java.sun.com/developer/onlineTraining/JavaMail/contents.html#JavaMailDeleting

关于java - 使用 javax.mail 删除服务器上的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1464706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com