Java邮件服务学习之一:邮件服务概述
java可以提供邮件服务:一般理解的邮件服务就是可以发送和接收邮件的客户端,另外就是使用java编写邮件服务端;两者区别在于客户端只负责给终端客户收发邮件,就相当于小区楼下的那一排排的铁皮邮箱盒,而邮箱服务器相当于邮局,可以管理、分发、中转邮件。从功能上区别 邮件服务器是可以指定邮件域名的比如@163.com、@qq.com等,这些需要注册在互联网上的,而客户端只是向这些域名服务器上发、收邮件;
一、邮箱客户端:
以前的邮箱服务器一般是C/S架构,是离线模式,现在大多数邮箱服务器都提供B/S模式,通过浏览器直接在线连接邮件服务器。
java web开发邮箱客户端常用两种方式:
第一种:J2EE中提供的java mail API(javax.mail.*)
Javamail API是一个用于阅读、编写和发送电子消息的可选包(标准扩展),可以用来建立基于标准的电子邮件客户机,它支持各种因特网邮件协议,包括:SMTP、POP、IMAP、MIME、NNTP、S/MIME及其它协议。
第二种:spring 对java mail封装之后的API(Spring Mail)
二、邮箱服务器
常用的是 Apache James(Java Apache Mail Enterprise Server),完全采用纯Java技术开发,实现了SMTP、POP3与NNTP等多种邮件相关协议。James是一个邮件应用平台,可以通过Mailet扩充其功能,如Mail2SMS、Mail2Fax等。James提供了比较完善的配置方案,尤其是关于邮件内容存储和用户信息存储部分,可以选择在文件、数据库或其他介质中保存。James性能稳定、可配置性强,开源 。
一般互联网上有很多邮箱服务器使用,如163、126、139、qq、新浪等等,但是如果开发公司内部邮箱,可以根据公司规模,单独搭建邮箱服务器,也可以不使用邮箱服务,因为公司本身就一个局域网,直接使用数据库就可以,读表数据即可。