E-mail(Electronic Mail)目前是互联网上应用最广泛的通信方式之一,Java EE规范提供了JavaMail的支持。
E-mail的协议:
SMTP(Simple Mail Transaction Protocol)简单邮件传输协议。
POP(Post Office Protocol)邮局协议。
IMAP(Internet Message Access Protocl)交互邮件访问协议。
JavaMail是一套非常简单的API,它需要另一套Java规范JAF(JavaBeans Activation Framework)一起使用。
下面是一些常有接口和类:
1:javax.mail.Sessio
创建邮件会话的常用方法:
static Session getDefaultInstance(Properties props)
static Session getDefaultInstance(Properties props, Authenticator authenticator)
2:javax.mail.Transport
用于邮件的发送的抽象类,其有一子类:com.sun.mail.smtp.SMTPTransport,它使用SMTP协议来实现该抽象类。
public static void send(Message msg)
public static void send(Message msg, Address[] addresses)
3:javax.mail.Store
一个抽象类,用于存储、访问、查找、监视信息等操作。
4:java.mail.Folder
一个抽象类,代表一个邮件系统的文件夹。
5:javax.mail.MimeMessage
电子邮件对象。
6:javax.mail.Address
一个抽象类,由于表示收件人/发件人地址。
7:javax.mail.Multipart
一个抽象类,用于操纵电子邮件内容的容器。
8:javax.mail.BodyPart
抽象类,表示邮件内容的一部分。
9:javax.activation.DataHandler
该类提供了一致的接口,允许邮件包含不同资源和格式的信息。
10:javax.activation.FileDataSource
该类实现了一个简单的数据源对象,用于封住文件。
11:javax.activation.URLDataSource
类似FileDataSource,表示一个远程资源。
通过JavaMail发送邮件步骤:
1:创建邮件Session实例;
2:以Session实例为参数创建MimeMessage对象;
3:为MimeMessage对象设置合适的属性和内容;
4:使用抽象类Transport的send或sendMessage方法发送邮件。
接受邮件的步骤:
1:创建邮件Session实例;
2:以Session实例获取邮件存储对象(Store),调用Store对象的connect()方法执行连接;
3:调用Store对象的getFolder()方法来获取指定的邮件文件夹(如收件箱、垃圾箱等,这取决于邮件服务器上的配置);
4:调用Folder的open()方法打开指定的邮件文件夹,之后可执行它的getMessage()方法来获取文件夹内所有邮件;
5:遍历邮件,提取邮件内容。