zoukankan      html  css  js  c++  java
  • JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)

    JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)

    本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦。
    先把实现的发送邮箱验证码更能更新了。

    老规矩,更多内容在注释山聊。

    首先还是先放上成功的截图:

    (1)准备阶段 - 获取授权码

    授权码(这个授权码是让 JAVA 程序来登录发送者的 QQ 邮箱的,相当于登动态密码)

    获取步骤:
    点击【设置】>【账户】>【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】
    在这里插入图片描述

    在这里插入图片描述

    (2)加载相关 jar 包

    使用 Maven 的话,直接拷贝下面的就可以:

    		<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
                <version>1.1.1</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/javax.mail/mail -->
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4.7</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-email -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-email</artifactId>
                <version>1.5</version>
            </dependency>
    
    

    (3)代码编写 - 示例

    请根据提示自行修改配置

    package com.xpwi.action;
    
    import org.apache.commons.mail.SimpleEmail;
    import org.springframework.context.annotation.Scope;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @Scope("prototype")
    @RequestMapping("/email")
    public class EmailValidateAction {
    
        //邮箱验证
        //*.do 的格式是 Spring MVC 拦截的一种配置,请自行修改
        @RequestMapping("/sendCode.do")
        @ResponseBody
        public int emailValidate(){
            SimpleEmail email=new SimpleEmail();//创建一个HtmlEmail实例对象
            try {
                //填写邮箱服务器,如是QQ邮箱服务器,直接用:smtp.qq.com
                email.setHostName("邮箱服务器");
                email.setCharset("utf-8");
                //设置收件人
                email.addTo("收件人邮箱地址");
                //设置发送人邮箱,和用户名
                email.setFrom("发件人邮箱地址","发件人署名(随意写)");
                //配置邮箱加授权码,相当于等于自己的邮箱
                email.setAuthentication("发送者的邮箱","发送者的授权码");
                //使用安全链接
                email.setSSLOnConnect(true); 
                //设置邮件的主题
                email.setSubject("注册验证码");
                //设置邮件的内容,自行修改动态验证码
                email.setMsg("尊敬的用户:你好!
     注册验证码为:123444" +"
    "+"     (有效期为一分钟)");
                //发送
                email.send();
    
            }catch (Exception e){
                e.printStackTrace();
                //返回 0 表示失败
                return 0;
            }
            //返回 1 表示发送成功
            return 1;
        }
    
    }
    

    更多文章链接

  • 相关阅读:
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    Distributing Ballot Boxes HDU
    Queue HDU
    Cup HDU
  • 原文地址:https://www.cnblogs.com/xpwi/p/10545885.html
Copyright © 2011-2022 走看看