1. 程式人生 > >JAVA 實現 QQ 郵箱發送驗證碼功能(不局限於框架)

JAVA 實現 QQ 郵箱發送驗證碼功能(不局限於框架)

package -o lda tor apach return stack proc pub

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("尊敬的用戶:你好!\n 註冊驗證碼為:123444" +"\n"+"     (有效期為一分鐘)");
            //發送
            email.send();

        }catch (Exception e){
            e.printStackTrace();
            //返回 0 表示失敗
            return 0;
        }
        //返回 1 表示發送成功
        return 1;
    }

}

更多文章鏈接

  • Java 分類導航

JAVA 實現 QQ 郵箱發送驗證碼功能(不局限於框架)