接下来说说邮件收发的过程:
>>telnet 上ES,>> ehlo xxx_test
<<auth login plain登录解析
>>auth login
<<
>>base64 username (base64加密算法加密的用户名)
<<
>>base64 password (base64加密算法加密的用户密码)
<<
>>mail from:<xxx@xxx.com>(发送地址)
<<
>>rcpt to:<xxx@xx.com>(接收地址)
<<
>>data (邮件内容)
from :<xxx@xxx.com> (这里讲解一下,这个发送人邮件地址是可以自定义的,所以大家在使用邮箱的时候,要注意涉及到了异常邮件,要留心)
to:xx
subject:
date:
这是邮件内容!
.
<<
>>quit
要自己写程序发送和接收邮件,可以直接采用Socket编程连接远程的邮件服务器,然后按照邮件协议与邮件服务器进行交互,涉及较多细节。另外,要想自己编程创建出复杂的 MIME格式的邮件,是一件非常困难和麻烦的事情。
在开发之前必须要先了解一下Java Mail
什么是Java Mail?
1、Java Mail是sun公司为方便Java开发人员在应用程序中 实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP、POP3、IMAP。
2、开发人员 使用Java Mail API编写邮件处理软件时,无须考虑邮件协议的底层实现细节,只要调用开发包中相应的API类就可以了
3、Java Mail 也提供了能够创建出各种复杂MIME格式的邮件内容的相关API
JavaMail API按其功能划分通常可分为三大类:
1、创建和解析内容的API:Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件
2、发送邮件的API:Transport类是发送邮件的核心API,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。
3、接收邮件的API:Store类是接收邮件的核心API,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。
Session类:
Session类用于定义整个应用程序所需的环境信息,以及收集客户端邮件与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送协议等。Session对象根据这些信息构建用于邮件收发的Transport对象和Store对象,以及为客户端创建的Message对象时提供信息支持。
JAF简介:
JAF:JavaBean Activation FrameWork,JavaBean激活框架)是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据接口。
JAF的主要作用在于让Java应用程序知道如何对一个数据源进行查看、编辑和打印等操作。对于通过JAF封装的数据,应用程序通过JAF提供的接口可以完成以下功能:
①、访问数据源中的数据
②、获知数据源的数据类型
③、获知可对数据进行的各种操作
④、用户对数据执行某种操作时,自动创建执行该操作的软件部件的实例对象
JavaMail API可以利用JAF从某种数据源中读取数据和获知数据的MIME类型,并用这些数据生成MIME消息中的消息体和消息类型。