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

旧城等待, 2024-03-16 12:47 100阅读 0赞

一、概要

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

步骤

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

1、导jar包

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

**1. activation.jar

  1. commons-email-1.4.jar
  2. 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、写方法

接近到最后一步,写方法。我这里写好了

  1. /**
  2. * 邮箱验证,返回一个验证码,后面需要进行验证
  3. *
  4. * @param email
  5. * 需要发送的邮箱
  6. */
  7. public String sendAuthCodeEmail(String email) {
  8. // 实例化随机
  9. Random rd = new Random();
  10. // 实例化一个一个string数组
  11. String[] strings = new String[] {
  12. "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t",
  13. "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m",
  14. "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X",
  15. "C", "V", "B", "N", "M" };
  16. // 定义一个变量接受,0~9 24个英文字母大小写 随机四个
  17. String authCode = "";
  18. for (int i = 0; i < 4; i++) {
  19. int sj = rd.nextInt(strings.length);
  20. authCode += strings[sj];
  21. }
  22. String string = null;
  23. try {
  24. // 实例化--SimpleEmail--一样的方法,只是实例化不同
  25. //如果想发网页样式的实例化这个就行了--HtmlEmail
  26. SimpleEmail mail = new SimpleEmail();
  27. mail.setHostName("smtp.qq.com");// 服务器--网易smtp.163.com
  28. mail.setAuthentication("xxx@qq.com", "xxx");//第一个是你开启服务的邮箱号,第二个是你开启服务后给你的授权码
  29. mail.setFrom("xxx@qq.com", "某某官网"); // 发送邮件人和发件人名
  30. mail.setSSLOnConnect(true); // 使用安全链接
  31. mail.addTo(email);// 接收的邮箱--收件人--也就是你要把验证码或者信息发给谁
  32. // 设置邮件的内容
  33. mail.setSubject("验证码");// 设置邮件的主题
  34. // 内容:正文
  35. mail.setMsg("<h1 align='center'>尊敬的用户,您好!</h1>\n<b>" + authCode + "</b>(有效验证码为1分钟)");
  36. mail.setCharset("utf-8");// 设置编码
  37. mail.setSentDate(new Date());// 发送时间
  38. string = mail.send();// 发送
  39. } catch (Exception e) {
  40. e.printStackTrace();
  41. }
  42. return string;
  43. }

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

我的分享就到这里了。

发表评论

表情:
评论列表 (有 0 条评论,100人围观)

还没有评论,来说两句吧...

相关阅读

    相关 php实现邮箱验证

    一、Introduction 需求是用户在注册时填写email,注册后,需要到邮箱验证后才能登陆。 二、实现 验证流程,注册成功后,为用户生成一个验证码;将验证码以连接方

    相关 邮箱验证账号登录 Java

    一、需求    当我们想让我们的网站消除恶意注册的情况,我们可以这样做,通过邮箱验证,这样又可以很好的表现出网站的正规性,所以我们在这里提供一个邮箱验证的工具类,先简单说一下

    相关 邮箱验证功能实现

    在进行实际项目的开发过程中,我们可能会遇到需要需要对用户账号密码进行找回,这时就需要我们通过邮件进行验证,从而对用户信息进行修改,下面我就将自己开发过程中的邮件发送功能简单描述