使用Java邮件Pop3似乎无法从Gmail中删除电子邮件

jwl*_*jwl 1 java email gmail

我有一个java程序,它使用javax.mail充当POP3客户端.我能够列出并检索Gmail收件箱的内容没问题.但是,我似乎无法删除电子邮件.这是代码的(重要部分):

POP3Store sto=... another method creates and connects the POP3Store
Folder ibx=sto.getFolder("INBOX");
ibx.open(Folder.READ_WRITE);

Message[] msgarr=ibx.getMessages();

for(int mi=0; mi<msgarr.length; mi++) {
    ...do stuff with the message
    msgarr[mi].setFlag(Flags.Flag.DELETED, true);
    }
ibx.close(true); //folder.close(true) indicates to expunge the folder
sto.close();
Run Code Online (Sandbox Code Playgroud)

运行此操作并看到它处理每条消息后,我进入Gmail并且电子邮件仍然存在,甚至显示为未读.如果我重新运行java客户端,它将查看并处理相同的电子邮件.

同样的代码很乐意删除来自Exchange服务器的电子邮件.

如何让Gmail删除电子邮件?

SLa*_*aks 6

Gmail专门处理POP删除.

您可以配置Gmail在Gmail设置中通过POP删除邮件时应执行的Forwarding and POP / IMAP操作.