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 ( "邮件发送失败!" );
            }
        }
    }
    
  • 相关阅读:
    行转列(FOR XML PATH)
    非聚集索引的注意事项
    避免JS全局变量冲突
    如何做个好员工?
    SQL Server 执行计划中的扫描方式举例说明
    SqlServer with递归查询的使用
    Excel插件类库的设计思路
    使用log4javascript记录日志
    布局
    Image控件的简单使用示例1
  • 原文地址:https://www.cnblogs.com/yizhixiang/p/13051360.html
Copyright © 2011-2022 走看看