凯哥学堂

搜索

凯哥学堂

Java实现邮箱验证码

2017-12-15 21:42| 发布者: 可可| 查看: 1| 评论: 0|原作者: 端碗吹水|来自: 凯哥学堂VIP14班

凯哥学堂 首页 资讯 学习笔记 JavaEE 查看内容

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

邮箱验证码

一般能使用邮箱注册的账户,在进行登录、注册或忘记密码等操作时,都能使用邮箱进行验证,所以邮箱验证码也使用得比较广泛,不过相对于短信验证码来说,邮箱验证码使用的少一些,因为现在是个人都有手机号码,但是不一定会有邮箱账号。

使用邮箱来发送验证码,不需要像短信验证码那样调用短信服务API来发送验证码,但是需要有一个能够发送邮件的邮箱服务器或者使用第三方的邮箱,例如163、126、qq邮箱等。

不管是邮箱服务器还是第三方的邮箱需要开启POP3、SMTP、IMAP服务,因为开启了这些服务后才能被第三方调用这个邮箱进行发送邮件。

因为自己搭建邮箱服务器比较麻烦,所以我这里使用163的邮箱作为演示。

1.首先得去邮箱里开启服务,登录后点击设置可以看到这些服务的选项:

image

2.设置服务,第一次设置的话,会需要短信验证,然后还会要求你设置一个密码:

image

image

  1. 进行短信验证:

image

  1. 设置密码:

image

  1. 完成:

image

这个设置的密码也就是授权码要记住,发送邮件的时候需要用到这个授权码。

然后我们来使用Java编写一个发送邮件的类,但是写这个代码之前你得先获得下图中的jar包,需要使用这些第三方的jar包来实现邮件的发送:

image

获得jar包后,把这些jar包都导入到web工程下的lib目录中:

image

有了这些jar包后,就可以开始编写代码了,我们先写一个简单的类来测试一下能否成功发送邮件,代码示例:

image

运行结果:

image

如图,邮件可以正常的发送,并且收件人也能收到。

关于邮件的验证码的问题:

有时候邮件会发送的比较慢,甚至会发送不出去。所以用户在这种情况下就需要进行等待,最经典的就是那个圆圈的图标会一直在转圈,为了解决这种等待的问题,可以将验证码的发送请求存放到一个队列集合中,让它在后台进行发送,这样的话用户发送验证码时就不至于卡在当前页面里,示意图:

image


关注我们


微信

微博

QQ