Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javamail库,跟踪特定电子邮件_Java_Email_Gmail_Jakarta Mail - Fatal编程技术网

Javamail库,跟踪特定电子邮件

Javamail库,跟踪特定电子邮件,java,email,gmail,jakarta-mail,Java,Email,Gmail,Jakarta Mail,我正在开发一个Java应用程序,它可以读取GMAIL中的所有电子邮件,并将它们的运行时间保存在自制类的对象上,该类保存了电子邮件的一些属性。现在我想删除一个电子邮件对象,当我这样做时,我希望它也从互联网上删除。为了做到这一点,我需要一些信息来查询GMAIL帐户,以删除我所指的特定电子邮件。有没有可能的办法?也许通过保存标题然后搜索它?我找不到一个好办法。我建议你去看看 ApacheJames项目提供了一组丰富的开源模块和库,它们是用Java编写的,与内置到高级企业邮件服务器中的Internet邮

我正在开发一个Java应用程序,它可以读取GMAIL中的所有电子邮件,并将它们的运行时间保存在自制类的对象上,该类保存了电子邮件的一些属性。现在我想删除一个电子邮件对象,当我这样做时,我希望它也从互联网上删除。为了做到这一点,我需要一些信息来查询GMAIL帐户,以删除我所指的特定电子邮件。有没有可能的办法?也许通过保存标题然后搜索它?我找不到一个好办法。我建议你去看看


ApacheJames项目提供了一组丰富的开源模块和库,它们是用Java编写的,与内置到高级企业邮件服务器中的Internet邮件通信相关。

我假设您正在使用IMAP访问GMAIL。然后你可以储存邮件,打电话然后删除文件夹,或者自己搜索文件夹。或者你可以搜索一下,找到更好的方法。例如,您可以使用


更新这是一个可以帮助您的谷歌项目:。还有OAuth身份验证(运行示例所需)

这取决于访问消息和删除消息之间的时间跨度。如果邮件很短,且文件夹仍处于打开状态,则可以设置“已删除”标志并关闭文件夹以删除邮件


但我假设你需要在一段时间后找到消息。在这种情况下,您应该了解IMAP UID。有关详细信息,请参阅和。本质上,您需要跟踪文件夹的UIDVality值和消息的UID值。当你回到文件夹时,你可以通过检查UIDVALIDITY值来确定它是同一个文件夹,然后根据它的UID来查找邮件。

事实上,正如我所建议的,GMail有一个跨文件夹有效的UID扩展名是的,但目前使用JavaMail无法轻松访问该扩展名。我可以帮忙。我不认为这有那么难:/无论如何,使用特定于GMail的扩展更好,因为他将提供更好的体验(想想线程、标签和原始搜索功能)