JavaMail配额是限定或固定的号码或邮件的数量在电子邮件存储。JavaMail API为每个邮件服务请求调用计数配额。电子邮件服务可以适用下列配额标准:

外发邮件(包括附件)的最大大小。

邮件信息,包括附件的最大大小。

消息的最大大小时,管理员是一个收件人

对于配额管理的JavaMail有以下类别:

Class

描述

public class Quota

This class represents a set of quotas for a given quota root. Each quota root has a set of resources, represented by the Quota.Resource class. Each resource has a name (for example, "STORAGE"), a current usage, and a usage limit. This has only one method setResourceLimit(String name, long limit).

public static class Quota.Resource

Represents an individual resource in a quota root.

public interface QuotaAwareStore

An interface implemented by Stores that support quotas. The getQuota and setQuota methods support the quota model defined by the IMAP QUOTA extension.GmailSSLStore, GmailStore, IMAPSSLStore, IMAPStore are the known implementing classes of this interface.

让我们来看看和例子在下面的章节会检查邮件存储名称,并限制其使用。

创建Java类

创建一个Java类文件QuotaExample,是其内容如下:

packagecom.yiibai;importjava.util.Properties;importjavax.mail.Quota;importjavax.mail.Session;importjavax.mail.Store;importcom.sun.mail.imap.IMAPStore;publicclassQuotaExample{publicstaticvoidmain(String[]args){try{Propertiesproperties=newProperties();properties.put("mail.store.protocol","imaps");properties.put("mail.imaps.port","993");properties.put("mail.imaps.starttls.enable","true");SessionemailSession=Session.getDefaultInstance(properties);// emailSession.setDebug(true);// create the IMAP3 store object and connect with the pop serverStorestore=emailSession.getStore("imaps");//change the user and password accordinglystore.connect("imap.gmail.com","abc@gmail.com","*****");IMAPStoreimapStore=(IMAPStore)store;System.out.println("imapStore ---"+imapStore);//get quotaQuota[]quotas=imapStore.getQuota("INBOX");//Iterate through the Quotasfor(Quotaquota:quotas){System.out.println(String.format("quotaRoot:'%s'",quota.quotaRoot));//Iterate through the Quota Resourcefor(Quota.Resourceresource:quota.resources){System.out.println(String.format("name:'%s', limit:'%s', usage:'%s'",resource.name,resource.limit,resource.usage));}}}catch(Exceptione){e.printStackTrace();}}}

这里是连接通过IMAP(imap.gmail.com)服务器的Gmail服务,为IMAPStore实现QuotaAwareStore。一旦你获得了存储对象,获取配额阵列和遍历并打印相关信息。

编译并运行

现在,我们的类是准备好了,让我们编译上面的类。我已经保存了类QuotaExample.java到目录 : /home/manisha/JavaMailAPIExercise. 我们需要javax.mail.jar 和 activation.jar在classpath中。执行下面的命令从命令提示符编译类(两个jar被放置在/home/manisha/ 目录下):

javac-cp/home/manisha/activation.jar:/home/manisha/javax.mail.jar:QuotaExample.java

现在,这个类被编译,执行下面的命令来运行:

java-cp/home/manisha/activation.jar:/home/manisha/javax.mail.jar:QuotaExample

验证输出

您应该看到类似的消息在命令控制台上:

imapStore ---imaps://abc%40gmail.com@imap.gmail.com

quotaRoot:''

name:'STORAGE', limit:'15728640', usage:'513'

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

java限制金额控制_JavaMail 限额管理相关推荐

  1. 解析Java对象引用与JVM自动内存管理(2)

    解析Java对象引用与JVM自动内存管理(2) 作者:杨扬 本文选自:赛迪网 2002年11月22日 Soft References 应用实例 下面以在基于web的应用程序中使用soft refere ...

  2. Java综合项目----开发团队分配管理软件

    Java综合项目----开发团队分配管理软件 源代码下载地址: 简介 需求说明 系统功能结构 系统流程 用户注册和登录模块 开发人员管理模块 Equipment接口及其实现子类的设计 Employee ...

  3. java毕业设计——基于java+J2EE+sqlserver的音像店租赁管理系统设计与实现(毕业论文+程序源码)——租赁管理系统

    基于java+J2EE+sqlserver的音像店租赁管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2EE+sqlserver的音像店租赁管理系统设计与实现,文章末尾 ...

  4. JVM基础 之Java HotSpot虚拟机中的内存管理

    1  简介 依托JavaTM 2平台的力量,标准版(J2SETM)实现了内存的自动管理,将开发人员从复杂的显式内存管理中解放出来. 本文将对Sun公司的J2SE发行版中的Java HotSpot虚拟机 ...

  5. Java架构师成长之道之Java程序流程控制

    Java架构师成长之道之Java程序流程控制 Java架构师成长之道 4.1 程序流程控制概述 之前编写的绝大多数程序都是顺序执行,也就是从main函数开始,由上到下一行一行的执行,也被称为顺序结构. ...

  6. java读取ES配置生成ES管理类,获取ES连接

    java读取ES配置生成ES管理类,获取ES连接 1.Elasticsearch是基于Lucene开发的一个分布式全文检索框架,向Elasticsearch中存储和从Elasticsearch中查询, ...

  7. Java基础-Eclipse第三方安装包管理工具之Maven

    Java基础-Eclipse第三方安装包管理工具之Maven 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩过Linux的小伙伴应该都知道yum吧,我们只要把搭建好的yum仓库配 ...

  8. 黑马 程序员——Java基础---流程控制

    黑马程序员--Java基础---流程控制 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ 一.概述 Java提供了两种基本的流程控制结构:分支结构 ...

  9. java加快内存回收_java内存管理之垃圾回收及JVM调优

    GC(garbage Collector 垃圾收集器) 作用:a.内存的动态分配:b.垃圾回收 注:Java所承诺的自动内存管理主要是针对对象内存的回收和对象内存的分配. 一.垃圾标记 程序计数器.J ...

最新文章

  1. Computer Science Theory for the Information Age-3: 高维空间中的高斯分布和随机投影
  2. java-判断相同和对象比较大小
  3. ipython使用_IPython的介绍与使用
  4. CRM WebUI的错误消息是如何从后台服务器取出并绘制到前台的
  5. 《C++ Primer 第五版》(第5.1-5.6节) ——异常处理机制(try语句块,throw表达式和catch异常捕捉处理单元)
  6. PSR-2 代码风格规范
  7. Jquery 中的CheckBox、 RadioButton、 DropDownList的取值赋值
  8. LeetCode 1010. 总持续时间可被 60 整除的歌曲(哈希)
  9. Linux内核源代码分析——swap实现
  10. lintcode:Number of Islands 岛屿的个数
  11. JS杂谈系列-jquery-插件开发小记
  12. 为什么梯度反方向是函数下降最快的方向?
  13. SAP中计划策略的后台配置框架分析解读
  14. QTP之reporter对象方法全解析
  15. rancher 启动命令_Rancher 快速上手指南操作(1)
  16. 山东理工ACM【1147】求绝对值最大值
  17. win10系统怎样彻底关闭更新
  18. 分布式系统技术难题--异地多活
  19. 2017 码云最火开源项目 TOP 50
  20. 转载自杭电大牛的博客 线段树 绝对经典

热门文章

  1. 频谱分析仪维修论坛_是德E4405B频谱分析仪报错故障维修案例-安泰维修
  2. linux中python编译器的配置_方舟编译器环境配置及源码编译过程详解
  3. 使用localhost访问远程tensorboard
  4. Linux常见的发行版SUSE、Ubuntu、RedHat、CentOS、Fedora的联系和区别
  5. 大数据学习笔记11:搭建完全分布式Hadoop
  6. 安卓案例:闪烁满天星
  7. 包头昆区多大面积_包头地铁“胎死腹中”,何时“卷土重来”?
  8. 2017.9.30 物流运输 思考记录
  9. 【英语学习】【WOTD】 logy 释义/词源/示例
  10. python如何创建一个类_python 3——自定义一个类、object类