pom依賴導入java
<!--發送郵件--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.5</version> </dependency>
而後建立一個隨機生成6位驗證碼的工具類apache
package com.orhe.user.utils; 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 com.orhe.user.utils; 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("83945709@qq.com", "839454709@qq.com"); // 若是須要認證信息的話,設置認證:用戶名-密碼。分別爲發件人在郵件服務器上的註冊名稱和獲得的受權碼 email.setAuthentication("839454709@qq.com", "這裏寫你的受權碼"); email.setSubject("註冊驗證碼"); // 要發送的信息,因爲使用了HtmlEmail,能夠在郵件內容中使用HTML標籤 email.setMsg("歡迎註冊,您的驗證碼爲:"+code+"\n@orhe.cn"); // 發送 email.send(); System.out.println ( "郵件發送成功!" ); } catch (EmailException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println ( "郵件發送失敗!" ); } } }