我一直在使用java邮件(POP3 client & IMAP)来自动化Gmail操作。其中一个操作是删除邮件,我使用以下代码-
public void deleteInboxMasseges() throws IOException, MessagingException
{
store = getConnection(EMAIL_USERNAME, EMAIL_PASSWORD);
if (store != null)
{
int inboxMassegeCount = inbox.getMessageCount();
Message[] messages = inbox.getMessages();
for (int i = 0; i < inboxMassegeCount; i++)
{
messages[i].setFlag(Flags.Flag.DELETED, true);
}
inbox.expunge();
}
}
该邮件已从“收件箱”中删除,但它仅在"All Mail“文件夹中可用,仅在”“文件夹中可用。我想永久删除它。是否有任何直接的方式来永久删除邮件而不是删除“收件箱”中的邮件?
发布于 2017-06-12 14:33:59
不幸的是,这是一个多步骤的过程,需要使用IMAP,而不是POP。要从GMail中永久删除某些内容,似乎需要将其移到垃圾中,然后从垃圾中删除。它支持移动扩展,所以这并不是太糟糕。您还必须发现垃圾文件夹名(可能使用LIST ),因为它是本地化的。
a001 UID MOVE xxx "[Gmail]/Trash"
* OK [MOVEUID xxxxxxx yyy] Message moved
a002 SELECT "[Gmail]/Trash"
a003 UID STORE yyy +FLAGS (\Deleted)
a004 UID EXPUNGE yyy
然后它就会真的消失了。
对于大多数用户来说,把它移到垃圾堆里就足够了。它稍后会自己消失。
发布于 2017-06-12 13:20:42
您可能会在Gmail帐户设置中解决此问题。
Gmail在设置页、转发和POP/IMP选项卡上有以下选项:
当邮件标记为已删除并从最后一个可见的IMAP文件夹中删除时,:。
尝试在您的帐户中设置最后一个选项(立即永远删除消息),然后再次运行您的代码。
祝好运。
发布于 2018-12-27 12:30:18
按照以下步骤使用Gmail api永久删除JavaMail邮件中的消息
https://stackoverflow.com/questions/44497885
复制相似问题