Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
使用javax.mail(或类似工具)查找可用邮件存储、可用空间等_Java_Email_Jakarta Mail - Fatal编程技术网

使用javax.mail(或类似工具)查找可用邮件存储、可用空间等

使用javax.mail(或类似工具)查找可用邮件存储、可用空间等,java,email,jakarta-mail,Java,Email,Jakarta Mail,使用javax.mail或任何相关的Java库,可以做些什么来了解用户的邮件存储大小、可用空间和可用空间总量 我使用javax.mailapi获得有关消息的信息 Message message = new MimeMessage(session); folder1 = store.getDefaultFolder(); folder1 = folder1.getFolder(boxType); System.out.println("folder found :"

使用javax.mail或任何相关的Java库,可以做些什么来了解用户的邮件存储大小、可用空间和可用空间总量

我使用javax.mailapi获得有关消息的信息

Message message = new MimeMessage(session);
folder1 = store.getDefaultFolder();
folder1 = folder1.getFolder(boxType);
System.out.println("folder found :" 
                  + folder1.exists() 
                  + "folder name is " 
                  + folder1.getFullName());
folder1.open(Folder.READ_ONLY);
messages = folder1.getMessages();

您应该使用实现接口的存储,例如或。对此类存储和每个对象调用“getQuota”,检查“resources”数组。每个都包含“限制”和“使用”值

在控制台中为我的帐户输出:

quotaRoot:'' name:'STORAGE', limit:'10486380', usage:'1564' quotaRoot:' 名称:'STORAGE',限制:'10486380',用法:'1564'
编辑
另一个试图找出配额和文件夹大小之间相关性的示例:

总结,基于JavaMail JavaDoc和GMail上大示例的结果:

  • 多个
    文件夹
    可以具有相同的
    配额
    对象。例如,GMail在所有文件夹之间只共享一个配额
  • 文件夹
    是逻辑实体(与文件系统上的文件夹不同)。例如,GMail有文件夹
    [GMail]/All Mail
    ,其中包含来自其他文件夹的邮件
  • GMail为
    Quota
    返回的
    limit
    usage
    值以千字节为单位

因此,如果您需要显示剩余的空间大小,则应使用
配额。如果您需要显示带有消息的网格并按大小排序,您应该使用
folder.getMessages()
message.getSize()

您能举个例子说明如何使用QuoteAwareStore、IMAPSSLStore和imapsStore来获取邮件使用情况吗。在Gmail帐户上测试。嗨,它帮了我很多。我有一个疑问是,使用量大小由帐户邮件的所有文件夹组成,帐户可能由自定义文件夹组成,如“abc”、“Boxbe等待列表”和垃圾邮件等等,我想知道有多少文件夹包含邮件及其各自的大小。添加了另一个示例和摘要。通过使用上面的示例,我得到的限制是正确的,至于用法,我没有得到正确的大小。例如:我应该使用1024MB中的23.4。取而代之的是,我得到了1024MB中的4个 quotaRoot:'' name:'STORAGE', limit:'10486380', usage:'1564'