一、JavaMail的核心API
1、API功能图解
2、API说明
(1)、Message 类:
javax.mail.Message 类是创建和解析邮件的一个抽象类子类javax.mail.internet.MimeMessage :表示一份电子邮件。 发送邮件时,首先创建出封装了邮件数据的 Message 对象, 然后把这个对象传递给邮件发送Transport 类,执行发送。接收邮件时,把接收到的邮件数据封装在Message 类的实例中,从这个对象中解析收到的邮件数据。
(2)、Transport 类
javax.mail.Transport 类是发送邮件的核心API 类创建好 Message 对象后, 只需要使用邮件发送API 得到 Transport 对象, 然后把 Message 对象传递给 Transport 对象, 并调用它的发送方法, 就可以把邮件发送给指定的邮件服务器。
(3)、Store 类
javax.mail.Store 类是接收邮件的核心 API 类实例对象代表实现了某个邮件接收协议的邮件接收对象,接收邮件时, 只需要得到 Store 对象, 然后调用 Store 对象的接收方法,就可以从指定的邮件服务器获得邮件数据,并把这些邮件数据封装到表示邮件的 Message 对象中。
(4)、Session 类:
javax.mail.Session 类定义邮件服务器的主机名、端口号、协议等Session 对象根据这些信息构建用于邮件收发的 Transport 和 Store 对象, 以及为客户端创建 Message 对象时提供信息支持。
二、邮件服务器配置
以 smtp 为例
1、smtp.mxhichina.com
阿里云企业邮箱配置(账号+密码)
2、smtp.aliyun.com
阿里云个人邮箱配置(账号+密码)
3、smtp.163.com
网易邮箱配置(账号+授权码)
三、公共代码块
1、邮件通用配置
package com.email.send.param;/** * 邮箱发送参数配置 */public class EmailParam { /** * 邮箱服务器地址 */ // public static final String emailHost = "smtp.mxhichina.com" ; 阿里云企业邮箱配置(账号+密码) // public static final String emailHost = "smtp.aliyun.com" ; 阿里云个人邮箱配置(账号+密码) public static final String emailHost = "smtp.163.com" ; // 网易邮箱配置(账号+授权码) /** * 邮箱协议 */ public static final String emailProtocol = "smtp" ; /** * 邮箱发件人 */ public static final String emailSender = "xxxxxx@163.com" ; /** * 邮箱授权码 */ public static final String password = "authCode"; /** * 邮箱授权 */ public static final String emailAuth = "true" ; /** * 邮箱昵称 */ public static final String emailNick = "知了一笑" ;}
2、常用常量
package com.email.send.param;/** * 邮件发送类型 */public enum EmailType { EMAIL_TEXT_KEY("email_text_key