实现邮箱验证(邮箱验证码登录)

一、概要

我们要实现web或者Java的发送邮箱验证码到邮箱上进行验证。当然我们需要做一下前提的准备,也就是先要导我们的jar包,然后再进行下一步的操作。

步骤

前期的创建web、Java项目我这就不演示了,这都是很基本的操作

1、导jar包

首先我们要去找一下这几个jar

1. activation.jar
2. commons-email-1.4.jar
3. 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;
	}

最后就是一个调用方法就行了,这些都是可以根据自己的情况改进的,想发什么内容也是可以修改的。

我的分享就到这里了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无法自律的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值