• 1. 神州数码思特奇信息技术股份有限公司James Server ITD 2011年6月
  • 2. James ServerJava Apache 企业邮件服务(又名:Apache James) 是利用纯java编写的,支持SMTP和POP3邮件服务和NNTP新闻服务,是完整和便携的企业级邮件引擎解决方案。James当前基于可用的开放协议。 James Server也是一个邮件应用平台。James工程同时开发Apache Mailet API,并且James Server 是一个Mailet容器,这点使得邮件处理更容易设计,编写和部署自定义的应用程序。
  • 3. --POP3 Service POP3 协议允许用户去获取邮件消息,普遍用于客户端下载和管理邮件信息. ,James能让POP3客户端使用SSL/TLS连接. --SMTP Service SMTP是在internet上发送和转移emali的标准方法.James提供基于SMTP规范所有功能的实现,支持一些可选特性,例如消息大小限制,SMTP验证,加密的 客户/服务器 通信. --NNTP Service NNTP用于客户端从新闻服务器存储和获取消息.James通过实现NNTP规范实现了服务的交互,还有为存储新闻消息所提供的仓库.James简单和直接的实现,但支持一些额外的特性,例如NNTP验证,加密的 客户/服务器 通信.
  • 4. --Repositories James有许多不同的仓库去存储消息数据(email,news messages) 和用户信息. --RemoteManager James提供一个简单的telnet-base 控制接口,通过这个接口你能添加和删除用户
  • 5. Matchers public interface Matcher { void init(MatcherConfig config); void destroy(); String getMatcherInfo(); MatcherConfig getMatcherConfig(); Collection match(Mail mail); }
  • 6. 匹配器的任务是识别一组接收者,并返回一个代表要被mailet处理的接收者的字符串对象集合。通过结合匹配器的识别能力和mailet的处理能力,可以开发出复杂的e-mail消息处理应用程序。
  • 7. Mailet public interface Mailet { void init(MailetConfig config); void destroy(); String getMailetInfo(); MailetConfig getMailetConfig();  void service(Mail mail); }
  • 8. services() 方法以一个Mail 对象为参数,完成主要的处理工作。Maile对象提供了对容器状态、邮件消息和要进行处理的元数据的访问。
  • 9. 示例程序1 用match 匹配特定收件人,匹配成功之后发给特定的mailet做出相应处理。
  • 10. 示例程序2 用户需要发送指定类型的邮件到一个指定的邮件服务器地址,这个邮件被作为任何收到的邮件的自动答复消息,直到用户发送一个邮件撤销他的不可到达状态。这一机制与邮件客户端程序中常用的方法类似,向发件人发送一封邮件表示用户现在不在,因为去度假或者其它什么原因。
  • 11. 用户能够通过发送e-mail到 unavailable@emailserver to 来将他的账户切换到不可到达模式。发送到unavailable@emailserver的消息要存下来以备将来使用。 如果已经存在这个用户的不可到达消息,原来的消息将被新的覆盖,但用户会收到所发生的一切情况的通知。  用户能够通过发送e-mail 到 available@emailserver 来取消所有的不可到达消息。发送到 available@emailserver的消息会被丢弃并移走原来保存的不可到达消息 。用户应该收到账户状态已经变为可以到达的通知。 一个保存了不可到达消息的用户在任何时候收到的e-mail都应该用保存的消息自动回复,以向发件人说明用户当前处于不可到达的状态。触发这个操作的原始邮件应该进行正常的处理。
  • 12. F:/unavailable You have been marked as UNAVAILABLE Send a message to available@localhost to reset. F:/unavailable You have been marked as AVAILABLE Send a message to unavailable@localhost to send the message to users when you are unavailable. F:/unavailable available@weijin.com;unavailable@weijin.com
  • 13. 参考资料: http://james.apache.org/server/3/config.html 官网 http://hi.baidu.com/mutourenoo/blog/item/4f9819228a5ffdf9d6cae24c.html 配置数据库 http://www.ibm.com/developerworks/java/library/j-james1/index.html