java实现发送邮箱验证码
作者:五只小狗 发布时间:2022-07-05 07:40:07
标签:java,邮箱,验证码
本文实例为大家分享了java实现发送邮箱验证码的具体代码,供大家参考,具体内容如下
添加依赖
<!-- 邮箱验证码 https://mvnrepository.com/artifact/org.apache.commons/commons-email -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.4</version>
</dependency>
以qq邮箱为例登入qq邮箱找到设置
找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启 :IMAP/SMTP服务 我已经开启了,不做演示了
验证码生成的工具方法
/**
* 生成随机验证码
* @param number 几位数
* @return
*/
@Override
public String generateVerifyCode(int number) {
Random random = new Random();
StringBuilder builder = new StringBuilder();
for (int i = 1; i <= number; i++) {
builder.append(random.nextInt(10));
}
return builder.toString();
}
发送验证码
/**
* 发送验证码
* @param email
* @return
*/
@Override
public int sendAuthCodeEmail(String email) {
try {
HtmlEmail mail = new HtmlEmail();
/*发送邮件的服务器 126邮箱为smtp.126.com,163邮箱为163.smtp.com,QQ为smtp.qq.com*/
mail.setHostName("smtp.qq.com");
/*不设置发送的消息有可能是乱码*/
mail.setCharset("UTF-8");
/*IMAP/SMTP服务的密码*/
mail.setAuthentication("发送消息的邮箱如:2212312@qq.com", "密码");
/*发送邮件的邮箱和发件人*/
mail.setFrom("发件邮箱", "发件人");
/*使用安全链接*/
mail.setSSLOnConnect(true);
/*接收的邮箱*/
mail.addTo("123123@qq.com");
/*验证码*/
String code = this.generateVerifyCode(6);
/*设置邮件的主题*/
mail.setSubject("注册验证码");
/*设置邮件的内容*/
mail.setMsg("尊敬的用户:你好! 注册验证码为:" + code + "(有效期为一分钟)");
mail.send();//发送
} catch (Exception e) {
return 0;
}
return 1;
}
运行结果
完成
来源:https://blog.csdn.net/qq_43898141/article/details/119886216


猜你喜欢
- WPF动画效果系列WPF实现动画效果(一)之基本概念WPF实现动画效果(二)之From/To/By 动画WPF实现动画效果(三)之时间线(T
- 本文实例为大家分享了springmvc实现验证码功能展示的具体代码,供大家参考,具体内容如下先看效果图: 思路: 首先验证码是一张图片,是一
- 封装(Encapsulation)是面向对象编程的一个核心概念,它意味着将数据(属性)和方法(操作数据的函数)捆绑在一起,形成一个类(Cla
- 最终版iTextSharp 5.5: https://github.com/itext/itextsharp ,已经被 iText 7代替。
- 1、引入依赖<dependency><groupId>org.springframework.boot</gr
- 一、Optional类的来源到目前为止,臭名昭著的空指针异常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公
- 描述输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数输入描述:控制台随机输入一串字符串输出描述:输出字符串中包含的英文字母
- 前言链表是一种动态的数据结构,因为在创建链表时,不需要知道链表的长度,只需要对指针进行操作。1. 节点的创建 链表的节点包括两部分,分别是:
- 本文实例讲述了WPF设置窗体可以使用鼠标拖动大小的方法。分享给大家供大家参考。具体实现方法如下:private void Window_Lo
- 本文实例为大家分享了Unity实现弹球打砖块游戏的具体代码,供大家参考,具体内容如下创作界面记录摄像机所需脚本1射线shexianusing
- 一:.Net中有两个类 HttpWebRequest 和HttpWebResponse 类来实现Http的请求实现步骤:1.通过WebReq
- 经典的Java基础面试题集锦,欢迎收藏和分享。问题:如果main方法被声明为private会怎样?答案:能正常编译,但运行的时候会提示”ma
- 0x001 算数运算符 int num1 = 1, num2 = 2; System.o
- 需求:1、listView可以侧滑item,展示删除按钮,点击删除按钮,删除当前的item2、在删除按钮展示时,点击隐藏删除按钮,不响应it
- 目录一、.NET 体系结构二、Hello world三、类型和变量四、程序结构前言:C#(读作“See Sharp”)是一种新式编程语言,不
- 在学习c++的过程中,也曾经学习java,就发现java有类的嵌套,而看的c++的书,从来没有哪个讲c++的类可以嵌套,于是就试了一下,看是
- //while和for循环可以相互转换,以下为简单格式;for(1;2;3) A;//等价于
- 将一个字符串转化成String[]数组,提供两种方法前言将字符串转化成数组提供两种方法:1.split("");2.to
- 定义与结构 备忘录(Memento)模式又称标记(Token)模式。GOF给备忘录模式的定义为:在不破坏
- 1、存储在App内部最简单的一种。在尝试过程中发现,手机中很多文件夹都没有权限读写。我们可以将我们需要写的文件存放到App中的files文件