Skip to content

1 163邮箱服务器准备

1.1 申请邮箱

注册邮箱账号:http://reg.email.163.com/unireg/call.do?cmd=register.entrance&from=163mail

1.2 开通客户端授权

1.2.1 点击设置按钮

163-01.png

1.2.2 开通服务、新增授权密码

163-02

1.2.3 获得授权密码

163-03

2 QQ邮箱服务器准备

2.1 点击设置-帐户

QQ-01

2.2 开通邮箱服务

授权码生成的步骤,与163邮箱大致一致

QQ-02

3 使用java技术发送邮件

Apache commons email 是对 java 自带的 javax.mail 模块的封装。相比之下,apache-email 显然要好用得多,不过这两者本质上实际是一样的,apache-mail 实际上就是将 javax.mail 中那些让人烦心的邮件配置封装掉了。如下是 apache-mail 的使用方法:

3.1 导入依赖

xml
<!--apache mail-->
<dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-email</artifactId>
   <version>1.5</version>
</dependency>

3.2 HtmlEmail快速入门

​ html 格式的邮件应该是实际工作中应用最广的邮件格式了,它既可以是简单的文本,也可以是带样式(CSS)的文本,还可以带附件或者嵌入到文本中的图片等。apache-mail 中使用 HtmlEmail 对象来模拟 html 格式的邮件,其初始化方式如下:

java
// 创建HtmlEmail对象,封装邮件发送参数
HtmlEmail htmlEmail = new HtmlEmail();

// 设置邮件正文的编码集
htmlEmail.setCharset("utf-8");

// 设置邮件服务器的地址
htmlEmail.setHostName("smtp.163.com");

// 设置授权
htmlEmail.setAuthentication("帐号名称@163.com", "授权码");

// 设置发件人
htmlEmail.setFrom("发件人地址", "昵称");

// 添加收件人
htmlEmail.addTo("收件人地址", "昵称");

// 设置邮件主题
htmlEmail.setSubject("this is system test, do not reply!");

// 设置邮件正文
htmlEmail.setMsg("<h2>恭喜您!注册成功!</h2><a href='http://localhost:8080/xx_war_exploded/user/active?code=1234'>请点击次链接进行激活</a>"); 

//发送邮件
htmlEmail.send();