精华内容
下载资源
问答
  • Java邮箱发送验证码

    2019-08-08 10:49:29
    //设置发送人到的邮箱和用户名和授权码(授权码是自己设置的) //XXXXXXX是授权码 htmlEmail . setAuthentication ( "XXXXXX@126.com" , "XXXXXXX" ) ; 第三步,设置收件人及发送邮件的内容。 //设置收件人 ...

    首先创建Maven项目,pom.xml文件添加依赖

    <!-- 关键依赖 -->
    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-email</artifactId>
       <version>1.5</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.12</version>
       <scope>test</scope>
    </dependency>
    

    开始编码,总共分为三步。

    第一步,创建HtmlEmail实例,设置实例SMTP服务器及字符类型。

    // 创建一个HtmlEmail实例对象
    HtmlEmail htmlEmail = new HtmlEmail();
    
    //邮箱的SMTP服务器,一般126邮箱的是smtp.126.com,qq邮箱为smtp.qq.com
    htmlEmail.setHostName("smtp.126.com");
    
    //设置发送的字符类型
    htmlEmail.setCharset("utf-8");
    

    第二步,设置发件人邮箱及授权码(授权码是在邮箱设置里面自己设置的)。

    //发送人的邮箱为自己的,用户名可以随便填
    //XXXXXX@126.com是邮箱,XXXX是用户名
    htmlEmail.setFrom("XXXXXX@126.com","XXXX");
    
    //设置发送人到的邮箱和用户名和授权码(授权码是自己设置的)
    //XXXXXXX是授权码
    htmlEmail.setAuthentication("XXXXXX@126.com","XXXXXXX");
    

    第三步,设置收件人及发送邮件的内容。

    //设置收件人
    htmlEmail.addTo("11111@qq.com");
    //设置发送主题
    htmlEmail.setSubject("主题");
    //设置发送内容
    htmlEmail.setMsg("发送内容");
    

    第四步,进行发送。

    //进行发送
    htmlEmail.send();
    

    到此,实例就完成了。

    注,如果不用maven,普通项目的话需要导入的jar包依赖除了commons-email之外,应该还有一个mail的包和activation包。
    在这里插入图片描述

    展开全文
  • 一般流程就是你输入你的邮箱和设置你的密码,点击发送后,就会发给你一个验证码,你输入正确的验证码,然后点击提交后才真正的完成了注册 比如: 最下面会附上源码,不懂的可以加超厂长微信:y958231955或微信...

    java实现发送邮箱验证码——三步搞定java邮箱发送验证码

    大家好,我是你们不熟悉的超厂长,每天2--3更,发布java小白教程

    微信公众号:程序员PG

    今天早上一直在考虑网上的邮箱注册是怎么注册的

    一般流程就是你输入你的邮箱和设置你的密码,点击发送后,就会发给你一个验证码,你输入正确的验证码,然后点击提交后才真正的完成了注册

    比如:

    java实现发送邮箱验证码——三步搞定java邮箱发送验证码

    最下面会附上源码,不懂的可以加超厂长微信:y958231955或微信公众号:程序员PG

    工具:commons-email的jar包

    第一步:

    创建HtmlEmail实例对象

    HtmlEmail email=new HtmlEmail();//创建一个HtmlEmail实例对象


    设置邮箱的SMTP服务器,登录相对应的邮箱官网,去拿就行了

    email.setHostName("smtp.163.com");//邮箱的SMTP服务器,一般123邮箱的是smtp.123.com,qq邮箱为smtp.qq.com

    java实现发送邮箱验证码——三步搞定java邮箱发送验证码

    和设置发送的字符集类型

    email.setCharset("utf-8");//设置发送的字符类型

    第二步

    设置收件人

    email.addTo("xxxxxxxxxxx@qq.com");//设置收件人

    和发送人的邮箱和用户名

    email.setFrom("xxxxxxxxxx@163.com","aa");//发送人的邮箱为自己的,用户名可以随便填

    第三步

    设置邮箱地址和授权码

    email.setAuthentication("xxxxxxxxxx@163.com","xxxxxxxx");//设置发送人到的邮箱和用户名和授权码(授权码是自己设置的)

    授权码的开启需要去自己相对应的官网去开启,比如163邮箱网站

    java实现发送邮箱验证码——三步搞定java邮箱发送验证码

    第四步

    设置发送标题和内容就可以了

    !这里注意的是发送内容别太简单了或者有敏感词,很多人写的时候就直接写一个email.setMsg(“1111”),这种内容很容易被收件方的邮箱纳入到垃圾邮箱,也好多人问我为什么运行没出错但是没收到呢,你去你垃圾邮箱看看是不是有,那为什么会进入到垃圾邮箱呢,那是因为你发送的内容就是一个垃圾信息,没用的信息,肯定把你发送的纳入到垃圾邮箱呢,比如我下面发送成功的截图中,我是选择一篇文章进行发送,这就不会纳入到垃圾邮箱了

    email.setSubject("测试");//设置发送主题
    email.setMsg("填写你的发送内容");//设置发送内容
    email.send();//进行发送

    总结:需要去自己邮箱相对应的官网开启授权码和设置POP3/SMTP/IMAP为开启就可以了,至于你不用于发送验证码用于其他的就看你自己了

    源码:

    java实现发送邮箱验证码——三步搞定java邮箱发送验证码


    注意:

    需要导入:

    org.apache.commons的commons-email的jar包
    
    但是一些用ecplise开发的时候,直接导入jar包的话,我们需要另外一个jar包
    
    
    mail-1.4.7.jar包,如果是maven的话,只需要导入上面的依赖就行了

    不会下载的关注微信公众号:程序员PG      回复:邮箱

    需要一个简单的前端后端交互的springboot项目的源码的回复:邮箱源码

    java实现发送邮箱验证码——三步搞定java邮箱发送验证码

    还有注意的是为什么有的按照写完还是没收到消息,你可以登录自己接收的邮箱看是不是到垃圾邮箱了。

    如果是,有可能是你发送的内容不规范或者存在一些敏感词,这些是自动进入到垃圾邮箱的,比如我发送一句“测试”,很有可能被腾讯纳入到垃圾邮箱了。你试试规范一下,比如发个文章就行了。

    目前公众号

    回复:SSM                即可免费获得Spring+springMVC+mybatis全套价值199的视频教学

    回复:SpringBoot      即可免费获得从入门到实战的springBoot教学视频

    回复:JSP                 即可免费获得开发JSP的从入门到实战的JSP教学视频

    回复:servlet             即可免费获得从入门到实践的servlet教学视频

    回复:JavaSE           即可免费获得从入门到实践的JavaSE教学视频

    回复:HTML              即可免费获得从入门到实践的HTML教学视频

    回复:CSS                即可免费获得从入门到实践的CSS教学视频

    以及超厂长个人微信号:y958231955 有问必答,不墨迹不发广告

    谢谢大家看完这期的java完成发送邮箱功能

    展开全文
  • Java 邮箱发送验证码且60秒内登录

    千次阅读 2018-09-30 21:05:29
    在我们平时上网时,经常会使用邮箱发送验证码,去登录或者注册。我使用了jar包和数组,集合,session完成了验证码的发送,在前端,使用ajax发送验证码,然后使用Jquery让用户在60秒以内不能重新获取验证码。 首先,...

    在我们平时上网时,经常会使用邮箱发送验证码,去登录或者注册。我使用了jar包和数组,集合,session完成了验证码的发送,在前端,使用ajax发送验证码,然后使用Jquery让用户在60秒以内不能重新获取验证码。

    首先,我们需要下载这三个包。点次链接下载

    界面大家可以自由设计,我设计的比较简单。

    接下来是验证码的生成,和发送。

    import java.util.Arrays;
    import java.util.Collections;
    import java.util.List;
    import org.apache.commons.mail.EmailException;
    import org.apache.commons.mail.SimpleEmail;
    public class EmailUtil {
    	// 随机验证码
    	public String achieveCode() {  //由于数字1 和0 和字母 O,l 有时分不清,所有,没有字母1 、0
    		String[] beforeShuffle= new String[] { "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F",
    		"G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a",
    		"b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
    		"w", "x", "y", "z" };
    		List list = Arrays.asList(beforeShuffle);//将数组转换为集合
    		Collections.shuffle(list);  //打乱集合顺序
    		StringBuilder sb = new StringBuilder();
    		for (int i = 0; i < list.size(); i++) {
    		sb.append(list.get(i)); //将集合转化为字符串
    		}
    		return sb.toString().substring(3, 8);  //截取字符串第4到8
    	}
    	public static void sendAuthCodeEmail(String email, String authCode) {
    		try {
    	 	SimpleEmail mail = new SimpleEmail();
    	 	mail.setHostName("smtp.163.com");//发送邮件的服务器
    	 	mail.setAuthentication("15182060324", "X123456");//登录邮箱的密码,是开启SMTP的密码
    	 	mail.setFrom("15182060324@163.com","阿萨斯");  //发送邮件的邮箱和发件人
    	 	mail.setSSLOnConnect(true); //使用安全链接
    	 	mail.addTo(email);//接收的邮箱
    	 	mail.setSubject("蓝桥酒店验证码");//设置邮件的主题
    		mail.setMsg("尊敬的用户:你好!\n 蓝桥酒店登陆验证码为:" + authCode+"\n"+"     (有效期为一分钟)");//设置邮件的内容
    		mail.send();//发送
    		} catch (EmailException e) {
    			e.printStackTrace();
    		}  
    	}
    }
    	//发送验证码,并使用session存储设置值
    	public void vcode(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException{
    		 String email = request.getParameter("email");
    		 String code = new EmailUtil().achieveCode();  //生成随机密码
    		 try {
    			new EmailUtil().sendAuthCodeEmail(email,code);
    			HttpSession session = request.getSession();
    	        session.setAttribute("Vcode", code);
    	        session.setMaxInactiveInterval(60); //设置session有效期 60秒
    			response.getWriter().write("{\"exist\":"+true+"}");
    		} catch (Exception e) {
    			response.getWriter().write("{\"exist\":"+false+"}");
    			e.printStackTrace();
    		}
    	}
    $("#send").click(function(){
    					var email =$("#email").val(); //获取用户输入的邮箱
    					var myreg = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; 
    					if(email.length==0 || !myreg.test(email)){  //验证邮箱是否正确
    						return false;
    					}
    					$.post(
    						"UsrServlet/vcode", //进行发送验证码处理的方法
    						{"email":email}, //以json格式传递参数 
    						function(responseData) { //访问成功后的回调函数,responseData:响应参数
    							if (responseData.exist) {
    								new invokeSettime("#send"); //发送正确后,调用方法,开始倒计时
    								$("#showTooltips").attr("href","javascript:");
    								$("#showTooltips").css("background-color","rgba(26,173,25,0.5)");
    							} else {
    								console.log("验证码发送失败"); //控制台打印调试
    							}
    				 		},
    						"json" //响应数据为json格式
    						);
    				});

    倒计时代码转载出_该作者写的不错,特此分享:https://blog.csdn.net/I_am_listen/article/details/53056354

     

    展开全文
  • java实现邮箱发送验证码 需要用到的依赖 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>...

    java实现邮箱发送验证码

    需要用到的依赖

    <dependency>
          <groupId>javax.mail</groupId>
          <artifactId>mail</artifactId>
          <version>1.4.7</version>
     </dependency>
    

    工具类

    package com.wen.util;
    
    import javax.mail.*;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import java.util.Properties;
    import java.util.Random;
    
    /**
     * 发邮件工具类
     */
    public final class MailUtils {
    
        private static final String USER = "xxxxxxxxx@qq.com"; // 发件人称号,同邮箱地址
        private static final String PASSWORD = "  "; // qq邮箱的客户端授权码(需要发短信获取) 具体操作见下
    
        /**
         * @param to    收件人邮箱
         * @param text  邮件正文
         * @param title 标题
         */
        /* 发送验证信息的邮件 */
        public static boolean sendMail(String to, String text, String title) {
            try {
                final Properties props = new Properties();
                props.put("mail.smtp.auth", "true");
                props.put("mail.smtp.host", "smtp.qq.com");
    
                // 发件人的账号
                props.put("mail.user", USER);
                //发件人的密码
                props.put("mail.password", PASSWORD);
    
                // 构建授权信息,用于进行SMTP进行身份验证
                Authenticator authenticator = new Authenticator() {
                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() {
                        // 用户名、密码
                        String userName = props.getProperty("mail.user");
                        String password = props.getProperty("mail.password");
                        return new PasswordAuthentication(userName, password);
                    }
                };
                // 使用环境属性和授权信息,创建邮件会话
                Session mailSession = Session.getInstance(props, authenticator);
                // 创建邮件消息
                MimeMessage message = new MimeMessage(mailSession);
                // 设置发件人
                String username = props.getProperty("mail.user");
                InternetAddress form = new InternetAddress(username);
                message.setFrom(form);
    
                // 设置收件人
                InternetAddress toAddress = new InternetAddress(to);
                message.setRecipient(Message.RecipientType.TO, toAddress);
    
                // 设置邮件标题
                message.setSubject(title);
    
                // 设置邮件的内容体
                message.setContent(text, "text/html;charset=UTF-8");
                // 发送邮件
                Transport.send(message);
                return true;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }
    
        public static String getValidateCode(int num) {
    
            Random random = new Random();
            String validateCode = "";
            for (int i = 0; i < num; i++) {
    
                int result = random.nextInt(10);
                validateCode += result;
    
            }
            return validateCode;
        }
    
        public static void main(String[] args) throws Exception { // 做测试用
            MailUtils.sendMail("########@qq.com", "你好,这是一封测试邮件,无需回复。", "测试邮件随机生成的验证码是:" + getValidateCode(6));
            System.out.println("发送成功");
    
        }
    }
    
    

    获取qq邮箱授权码

    进入QQ邮箱
    进入qq邮箱点击 设置
    在这里插入图片描述

    在此界面点击账户 然后下滑 开启第二个即可获取到授权码
    在这里插入图片描述

    展开全文
  • 邮箱发送验证码,发送验证码的工具类:   package com.ssm.Emil; import 需要手动导包 /** * * @author Dalon_G */ public class SendEmail { public static final String HOST = "smtp.163....
  • JAVA发送邮箱验证码

    2021-04-02 08:39:04
    JAVA发送邮箱验证码JAVA中实现邮箱获取验证码 邮箱的SMTP服务器,一般123邮箱的是smtp.123.com,qq邮箱为smtp.qq.com,163邮箱就是smtp.163.com 下面是QQ邮箱为例 首先我们要导入maven的依赖 <dependency&...
  • java实现QQ邮箱发送验证码 首先,需要设置一个邮箱服务器,由该邮箱向注册用户发送验证码 1、进入QQ邮箱界面 2、点击设置 3、切换到“账户” 4、往下滑,看到以下部分,将途中红色框内的两个选项开启,在这过程中...
  • springmvc 邮箱发送验证码 这是基于mave项目,springmvc的邮箱发送验证码。 要实现发送验证码,无论你是使用网易邮箱还是qq邮箱, 都要开启POP3/SMTP服务 ,获取一个授权码。 项目部署如下图: 1. 创建web的maven...
  • import java.util.Properties; import java.util.Random; import java.util.Scanner; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail....
  • JAVA实现使用QQ邮箱发送验证码功能 QQ邮箱设置 第一步,打开QQ邮箱(地址:https://mail.qq.com/); 第二步,登录后点击设置 第三步,点击账户,下拉找到POP3/IMAP/SMTP/Exchange/CardDAV/...
  • java实现qq邮箱发送验证码 qq邮箱设置 打开qq邮箱 登录之后点击设置 点击账户设置 往下翻到开启服务(成功之后有个授权码) 需要3个jar包 activation.jar、mail.jar、commons-email.jar <!-- ...
  • import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage...import java.util.Properties; /** * 邮件工具类 */ public class MailUtil { /** * 发送邮件 ...
  • JAVA实现邮箱发送验证码

    千次阅读 2018-02-02 11:38:32
    import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session;
  • JAVA实现发送邮箱验证码

    万次阅读 多人点赞 2017-08-26 08:34:57
    JAVA实现发送邮箱验证码
  • Java使用QQ邮箱发送验证码 1. 开启服务,获取授权码 需登录自己的QQ邮箱,打开 POP3/SMTP 服务,并获取授权码。 具体操作: 登录邮箱 邮箱首页 “设置” 选择 “账户” 找到 POP3/IMAP/SMTP/Exchange/CardDAV/...
  • 本篇主要描述“发送邮箱验证码、session校验”相关前(html\js)后(java)台代码,业务逻辑示例,闲话少诉,直接上代码。 1、引入的jar包是mail-1.4.jar 2、java底层发送邮箱方法 public boolean sendEMail(Map...
  • java发送邮箱验证码

    2019-03-05 22:11:00
    pom依赖导入 <!--发送邮件--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <...
  • 首先在pom.xml中添加配置文件 <dependency> <groupId>javax.mail</groupId> <artifactId>mail<...首先在utill中发送邮箱 package com.srx.util; import javax.mail.Ad
  • JAVA实现使用QQ邮箱发送验证码功能

    千次阅读 2018-10-25 13:39:13
    JAVA实现使用QQ邮箱发送验证码功能QQ邮箱设置导入依赖jar包写代码 QQ邮箱设置 第一步 ,打开QQ邮箱(地址:https://mail.qq.com/); 第二步 ,登录后点击设置 第三步,点击账户 第四步,下拉找到POP3/IMAP/...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 308
精华内容 123
关键字:

java邮箱发送验证码

java 订阅