使用Java Mail永久删除邮件

8

我一直在使用Java邮件来自动化Gmail操作。其中之一是删除邮件,我使用以下代码:

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

但是这样做只会把我的邮件推到垃圾邮件文件夹。

我想知道是否有一种直接的方法可以永久删除邮件,而不是先从“收件箱”中删除邮件,然后再搜索“垃圾邮件”文件夹并将其删除。


可能是一个不同的问题,但我无法使用Folder spam = store.getFolder("[Gmail]/Spam");从垃圾邮件文件夹获取邮件....“垃圾邮件”文件夹的名称可能是什么? - Tarun
5
希望以下帖子能够提供答案:https://dev59.com/aXM_5IYBdhLWcg3wPAjT - user890904
3个回答

4
根据http://mail.google.com/support/bin/answer.py?answer=78755的说法:
如果您想从所有文件夹中删除邮件,请将其移动到[Gmail]/ Trash文件夹中。
如果您从[Gmail]/ Spam或[Gmail]/ Trash中删除邮件,它将被永久删除。
然而,该页面没有提供任何关于您的方法会将邮件移到垃圾邮件文件夹的提示,并且它暗示您应该看到一个名为[Gmail]/Spam的文件夹;所以也许它不适用于您的情况?我认为您只需要尝试这种方法,并查看是否适用于您!

3

您说您正在尝试

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

你尝试过这样做吗?folder.close(true);它将清除所有带有 "DELETED" 标志的邮件。


它不适用于Gmail;消息仍将在存档中(所有邮件)保留。 - Arjan

0

将标志设置为Flags.Flag.DELETED只会将电子邮件标记为已删除。

您需要调用

folder.expunge();

实际上清除那些标记为删除的电子邮件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接