一、概要
我们要实现web或者Java的发送邮箱验证码到邮箱上进行验证。当然我们需要做一下前提的准备,也就是先要导我们的
jar
包,然后再进行下一步的操作。
步骤
前期的创建web、Java项目我这就不演示了,这都是很基本的操作
1、导jar包
首先我们要去找一下这几个jar
包
**1. activation.jar
- commons-email-1.4.jar
- mail.jar**
这三个jar包我们是需要的,我这里就不放在这里了,需要自己去下载。
下载好后我们就ctrl c/v 到我们项目的lib
文件夹里面
2、开启POP3/SMTP/IMAP服务
我们光导jar包是没用的,我们需要进去我们的邮箱开启我们的POP3/SMTP/IMAP服务,我们就用常用的网易、QQ邮箱做示例:
1、网易点击这里进入设置
QQ邮箱的,点击上面的设置
,进入这个页面,然后点击账户
2、然后开启服务
网易这里我就不开启了,我用的QQ邮箱,你们在这里开启就行了,都是一样的操作
QQ往下滑,找到POP3/SMTP/IMAP服务,然后开启它就行了
开启服务后会有一个授权码这个是后面要用到的,要记住了
3、写方法
接近到最后一步,写方法。我这里写好了
/**
* 邮箱验证,返回一个验证码,后面需要进行验证
*
* @param email
* 需要发送的邮箱
*/
public String sendAuthCodeEmail(String email) {
// 实例化随机
Random rd = new Random();
// 实例化一个一个string数组
String[] strings = new String[] {
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t",
"y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m",
"Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X",
"C", "V", "B", "N", "M" };
// 定义一个变量接受,0~9 24个英文字母大小写 随机四个
String authCode = "";
for (int i = 0; i < 4; i++) {
int sj = rd.nextInt(strings.length);
authCode += strings[sj];
}
String string = null;
try {
// 实例化--SimpleEmail--一样的方法,只是实例化不同
//如果想发网页样式的实例化这个就行了--HtmlEmail
SimpleEmail mail = new SimpleEmail();
mail.setHostName("smtp.qq.com");// 服务器--网易smtp.163.com
mail.setAuthentication("xxx@qq.com", "xxx");//第一个是你开启服务的邮箱号,第二个是你开启服务后给你的授权码
mail.setFrom("xxx@qq.com", "某某官网"); // 发送邮件人和发件人名
mail.setSSLOnConnect(true); // 使用安全链接
mail.addTo(email);// 接收的邮箱--收件人--也就是你要把验证码或者信息发给谁
// 设置邮件的内容
mail.setSubject("验证码");// 设置邮件的主题
// 内容:正文
mail.setMsg("<h1 align='center'>尊敬的用户,您好!</h1>\n<b>" + authCode + "</b>(有效验证码为1分钟)");
mail.setCharset("utf-8");// 设置编码
mail.setSentDate(new Date());// 发送时间
string = mail.send();// 发送
} catch (Exception e) {
e.printStackTrace();
}
return string;
}
最后就是一个调用方法就行了,这些都是可以根据自己的情况改进的,想发什么内容也是可以修改的。
我的分享就到这里了。