zoukankan      html  css  js  c++  java
  • 邮箱验证码

    一、导入依赖

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

    二、生成随机验证码

    package email_test.util;
    import java.util.Random;
    
    public class VerifyCodeUtil {
        //验证码生成范围
        //public static final String VERIFY_CODES = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ";
        public static final String VERIFY_CODES = "0123456789";
    
        /**
         * 使用系统默认字符源生成验证码
         * @param verifySize 验证码长度
         * @return
         */
        public static String generateVerifyCode(int verifySize){
            return generateVerifyCode(verifySize, VERIFY_CODES);
        }
    
        /**
         * 使用指定源生成验证码
         * @param verifySize 验证码长度
         * @param sources 验证码字符源
         * @return
         */
        public static String generateVerifyCode(int verifySize, String sources){
            if(sources == null || sources.length() == 0){
                sources = VERIFY_CODES;
            }
            int codesLen = sources.length();
            Random rand = new Random(System.currentTimeMillis());
            StringBuilder verifyCode = new StringBuilder(verifySize);
            for(int i = 0; i < verifySize; i++){
                verifyCode.append(sources.charAt(rand.nextInt(codesLen - 1)));
            }
            return verifyCode.toString();}
    
    }
    

    三、发送验证码

    package email_test.util;
    import org.apache.commons.mail.EmailException;
    import org.apache.commons.mail.HtmlEmail;
    
    /**
     * 邮件工具类
     */
    public class MailUtil {
        //邮箱验证码
        public static void sendEmail(String emailaddress,String code){
            // 不要使用SimpleEmail,会出现乱码问题
            HtmlEmail email = new HtmlEmail();
            try {
                // 这里是SMTP发送服务器的名字:,普通qq号只能是smtp.qq.com ;
                email.setHostName("smtp.qq.com");
                //设置需要鉴权端口
                email.setSmtpPort(465);
                //开启 SSL 加密
                email.setSSLOnConnect(true);
                // 字符编码集的设置
                email.setCharset("utf-8");
                // 收件人的邮箱
                email.addTo(emailaddress);
                // 发送人的邮箱
                email.setFrom("1719900603@qq.com", "旅游网");
                // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和得到的授权码
                email.setAuthentication("1719900603@qq.com", "填自己的授权码");
                email.setSubject("注册验证码");
                // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签
                email.setMsg("欢迎注册,您的验证码为:"+code);
                // 发送
                email.send();
    
                System.out.println ( "邮件发送成功!" );
            } catch (EmailException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                System.out.println ( "邮件发送失败!" );
            }
        }
    }
    
  • 相关阅读:
    《礼物》
    第三讲.线性表(读书笔记)
    UI第十四讲(上) UI高级可视化设计 (XIB, Storyboard, AutoLayout, SIzeClass )
    UI第十三讲 UITabBarController(标签视图控制器) Block块传值
    UI第十二讲 通讯录实战
    deepin中Tomcat添加执行权限
    deepin修改javahome不生效,一直显示openjdk解决
    deepin中idea中文乱码解决
    maven添加settings.xml使用阿里云仓库
    debian配置java环境变量
  • 原文地址:https://www.cnblogs.com/yizhixiang/p/13051360.html
Copyright © 2011-2022 走看看