首页 > 编程语言 >java发送验证码

java发送验证码

时间:2023-03-21 11:14:02浏览次数:36  
标签:java String 验证码 commons 发送 new email

导入maven包(commons-email)

<dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-email</artifactId>
      <version>1.5</version>
</dependency>

以邮箱发送注册验证码

public void sendEmail(String toEmail, String fromEmail, String code)
    {
        HtmlEmail email=new HtmlEmail();//创建email对象
        email.setCharset("UTF-8");//设置UTF-8字符编码
        email.setHostName("smtp.163.com");//设置发送服务器(以网易邮箱为例子)
        try {
            email.addTo(toEmail);
            email.setFrom(fromEmail,"xiaoxing");
            email.setAuthentication(fromEmail,code);
            email.setSubject("注册验证");
            email.setMsg("验证码为:"+getRandomCode(6)+",十分钟内有效。");//设置邮件内容(使用生成验证码函数)
            email.send();//发送邮件
        } catch (EmailException e) {
            System.out.println("发送失败"+e.getMessage());
        }
    }

生成验证码

public static String getRandomCode(int n)
    {
        Random random=new Random();
        StringBuilder str=new StringBuilder();
        for(int i=0;i<n;i++)
        {
            str.append(random.nextInt(10));
        }
        return  str.toString();
    }

  

标签:java,String,验证码,commons,发送,new,email
From: https://www.cnblogs.com/xxxiaoxing/p/17239204.html

相关文章

  • Java 获取最近12个月数据,包含当月数据
    List<String>dateList=newArrayList<>();Calendarcalendar=Calendar.getInstance();//月份最大为11最小为0所以设置初始月份时加1,需要获取到当前月份所以设置......
  • javaSE-day12(多线程)
    1.多线程的常用方法Thread提供了很多与线程操作相关的方法方法:publicvoidrun():线程的任务方法publicvoidstart():启动线程publicStringgetName():获取当前......
  • javascript 给Object扩展extend方法
    javascript给Object扩展extend方法mdj280759843于2011-04-1213:16:46发布1006收藏分类专栏:JS文章标签:JavaScriptjQueryUIprototype框架ViewUI版权JS专栏......
  • 剑指 Offer 07. 重建二叉树(java解题)
    目录1.题目2.解题思路个人思路3.数据类型功能函数总结4.java代码1.题目输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍......
  • Java之JasyptUtil类的使用
    在配置文件中,我们通常会对中间件密码进行加密。手动加密可以使用JasyptUtil类,代码如下:packagecom.cmit.kapok.system.utils;importorg.jasypt.encryption.pbe.Standa......
  • Java生成随机日期
    publicclassDateRandomTest{//返回2007-01-01到2007-03-01的一个随机日期publicstaticvoidmain(String[]args){DaterandomDate=r......
  • Can not set java.lang.String field com.jsedc.log.pojo.entity.voSyslogV0.happenT
    未加泛型约束的result,其List中的实体对象会被序列化为LinkedHashMap,实际结构为Result<List<LinkedHashMap<String,String>>>导出excel时对象赋值失败......
  • Javaweb学习-书城项目相关
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾由于是多个视频内容混合在一起,因此只放了第一个链接本文参考价值不高,随便写写......
  • JAVA -适合新手和复习(Restart)
    作为22届专科生,在没有经历和学历的情况下找一份得体的工作 是多么“奢侈”,世上岂无千里马,人中难得九方皋.废话太多我们开始吧!JAVA从这里开始 Java的历史(不感兴趣直......
  • 值得收藏的Java 命名规范参考!
    一、Java中常用到的命名形式共有三种既首字母大写的UpperCamelCase,首字母小写的lowerCamelCase以及全部大写的并用下划线分割单词的UPPERCAMELUNSER_SCORE。通常约定,类一......