当前位置: 首页 > 知识库问答 >
问题:

如何使用Java mail(POP3客户端和IMAP)在Gmail中永久删除电子邮件

杨昆
2023-03-14

我一直在使用java mail(POP3客户机和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();
        }
    }

邮件被从“收件箱”中删除,但它在“所有邮件”中可用,而不是在“垃圾”文件夹中。我想永久删除它。有没有什么直接的方法可以永久删除邮件,而不是从“收件箱”中删除邮件?

共有1个答案

宗波涛
2023-03-14

不幸的是,这是一个多步骤的过程,需要使用IMAP而不是POP来完成。要从GMail中永久删除某些内容,似乎需要将其移至垃圾箱,然后将其从垃圾箱中删除。它支持移动扩展,所以这并不太糟糕。您还必须发现垃圾文件夹名称,可能使用列表,因为它是本地化的。

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

那它就真的消失了。

对于大多数用户来说,把它移到垃圾箱就足够了。以后就会自行消失。

 类似资料:
  • 我们收到了正确数量的已删除邮件。但从gmail帐户中,邮件不会被删除。expunge()方法不适用于pop3。pop3是否有类似的方法永久删除电子邮件?我们还设置了文件夹。关闭(真) 代码如下-

  • 问题内容: 我正在尝试在JavaMail API的帮助下通过IMAP访问来自Gmail帐户的电子邮件。我想知道为什么代码对一个电子邮件帐户有效,而对另一个电子邮件帐户无效。 我可以访问两个电子邮件帐户的文件夹。但是对于其中一个电子邮件帐户,无法访问其他文件夹,例如,它将引发异常。有人可以解释出什么问题了吗? 先感谢您。 这是代码: 问题答案: 是否有一个帐户使用非英语用户界面? Gmail文件夹名

  • 问题内容: 我正在尝试阅读我的消息,我可以获取它来打印标题,但发件人和内容显示得很滑稽。这是我用来显示消息的代码: 输出如下: 为什么不打印出from语句的实际电子邮件地址?为什么不打印出实际的身体内容?(我只是在纯文本中很有趣。) 整个代码: 谢谢! 问题答案: 对于纯文本和html消息: 对于分段消息:

  • 我想将我的php imap客户端标识为gmail,以便用户可以检查哪个imap当前正在使用gmail。 现在使用gmail收件箱的详细信息可以通过单击详细信息gmail活动详细信息进行检查 当使用imap连接检查雷鸟的电子邮件时。雷鸟识别自己像这个雷鸟imap细节 但是当我尝试获取电子邮件时,gmail无法识别当前谁正在接收电子邮件 php imap details 你能告诉我需要传递哪些邮件头才

  • 问题内容: 我有一个PHP脚本,可通过邮件发送以下HTML: 但是收到的电子邮件(当我检查主div时)没有显示该物业 似乎gmail可以过滤这些属性? 这正常吗? 问题答案: 设计HTML电子邮件不同于设计HTML网站。电子邮件客户端和Web浏览器之间存在巨大的技术差距。好像浏览器在不断发展,但是电子邮件客户端陷入了1998年。 在HTML电子邮件世界中,嵌入式和外部样式不好,CSS3不好,Jav

  • 问题内容: 我正在使用javamail,但无法从Gmail电子邮件中获取HTML。我有以下内容: 上面所有方法都可以,但是我无法打印或获取实际的HTML或文本电子邮件。我只是得到某种InputStream,如何轻松处理以获得原始的电子邮件HTML? 我也尝试遍历消息,但这并没有使我走得太远: } 谢谢大家的帮助。 问题答案: 该对象包含电子邮件的正文。您需要阅读整个流,才能阅读整个消息。例如,该S

  • 现在,我想检查是否传入的电子邮件是重复的通过IMAP使用javamail,这可能意味着一个电子邮件等于其他邮件,他们有相同的主题,从,到,抄送,密件抄送,正文,附件。 谁能告诉我怎么做。任何想法都非常感谢。谢谢

  • 我正在尝试使用JavaMail 1.6.2使用带有POP3和新的OAUTH2集成的守护进程服务从outlook.com中提取电子邮件。 我已经成功地使用OAUTH2和IMAPS进行了身份验证,并且我可以使用带有普通身份验证的POP3来提取电子邮件,因此我认为我的OAUTH2作用域、azure注册应用程序和客户端电子邮件都有正确的设置。 我正在使用的提取电子邮件的范围如下所示,返回的令牌反映了POP