用java實現郵件傳送驗證碼
java實現郵件傳送驗證碼
建議不要用qq郵箱,我使用qq郵箱直接一直給我報530錯誤,我一直認為我程式碼寫的有錯誤或者POP3/SMTP服務沒弄好。所以建議註冊個別的郵箱,我就申請了個網易163郵箱瞬間就好了。所以去申請個別的郵箱吧。
用郵件傳送驗證碼,首先需要jar包。我寫的程式碼只需要mail.jar,沒有的話可以給我留言,我給你發個。
廢話不說了直接上程式碼(這個程式碼就是個工具類直接用就好)
package com.itheima.utils;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
public class MailUtils {
public static void sendMail(String email, String emailMsg) throws AddressException, MessagingException {
// 1.建立一個程式與郵件伺服器會話物件 Session
// 建立引數配置, 用於連線郵件伺服器的引數配置
Properties props = new Properties(); // 引數配置
props.setProperty("mail.transport.protocol" , "SMTP");// 使用的協議(JavaMail規範要求)
props.setProperty("mail.host", "smtp.163.com");// // 發件人的郵箱的 SMTP 伺服器地址
props.setProperty("mail.smtp.auth", "true");//請求認證,引數名稱與具體實現有關 指定驗證為true
// 建立驗證器
Authenticator auth = new Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
// 網易郵箱Yang_li_g 使用者名稱 hao123授權碼,改為自己的賬號和密碼
return new PasswordAuthentication("Yang_li_g", "hao123");
}
};
Session session = Session.getInstance(props, auth);
// 2.建立一個Message,它相當於是郵件內容
Message message = new MimeMessage(session);
//這裡也要改和上面對應,注意字尾和上面設定的一樣不然會報錯
message.setFrom(new InternetAddress("[email protected]")); // 設定傳送者
message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 設定傳送方式與接收者
message.setSubject("使用者啟用");
// message.setText("這是一封啟用郵件,請<a href='#'>點選</a>");
message.setContent(emailMsg, "text/html;charset=utf-8");
// 3.建立 Transport用於將郵件傳送
Transport.send(message);
}
}
這裡是servlet的程式碼,響應程式碼如下
// 傳送啟用郵件 activeCode:是驗證碼
String emailMsg = "恭喜您註冊成功,請點選下面的連線進行啟用賬戶" + "<a href='http://localhost:8080/Shop/active?activeCode="
+ activeCode + "'>" + "http://localhost:8080/Shop/active?activeCode=" + activeCode + "</a>";
try {
//user.getEmail() :是註冊人的郵件使用者名稱
MailUtils.sendMail(user.getEmail(), emailMsg);
} catch (MessagingException e) {
e.printStackTrace();
}
郵件內容你就自己隨便寫,我這裡寫的比較簡單,實現就好。
網易郵箱開通POP3/SMTP服務的步驟
先點選設定–》POP3/SMTP/IMAP—》找到開啟的選項點選開啟—》開啟成功後設置密碼就好了
我這是設定好的可以看下。設定好了後就可以實現用郵件發驗證碼了。
相關推薦
用java實現郵件傳送驗證碼
java實現郵件傳送驗證碼 建議不要用qq郵箱,我使用qq郵箱直接一直給我報530錯誤,我一直認為我程式碼寫的有錯誤或者POP3/SMTP服務沒弄好。所以建議註冊個別的郵箱,我就申請了個網易163郵箱瞬間就好了。所以去申請個別的郵箱吧。 用郵
java 實現登錄驗證碼 (kaptcha 驗證碼組件)
內容 清除 pub auto 二維碼 我們 constant nts extend 驗證碼的作用: 1、防止廣告機註冊和發帖、評論。2、防止暴力破解密碼,特別是有管理員權限的密碼。 在這裏介紹一種非常實用的驗證碼生成工具:kaptcha 這個工具,可以生成各種樣式的驗證碼
怎麽用php實現短信驗證碼發送
ajax xxxx 生成 time 驗證 之前 lan 參考 and 我在在眾多的第三方短信服務商裏選擇了雲片網這個短信服務商,我也會盡可能利用最簡單的方式去幫助廣大開發者解決短信驗證碼功能模塊的實現。 再次之前我也參考了大部分網上的博客等,大多數都是把雲片網的demo
Java實現郵件傳送(傳統方式)
package jl.bh.shy.utils; import java.util.Properties; import javax.mail.Address; import javax.mail.Session; import javax.mail.Transport; impor
【原始碼分享】java實現對接簡訊驗證碼應用功能
今天公司提出一個需求,要在現有專案上收集註冊使用者的真實手機號,由於之前沒有接觸過這一塊,只能尋求度孃的幫助,經過一天的努力,終於完成了,現整理記錄下已備查閱。 1 解決方案:在註冊時要求使用者進行手機驗證。2 尋找簡訊供應商:由於對這一塊不是太懂,大學同學推薦一家他們公司在用的給我。3 程式碼實現 首先到
JAVA實現註冊頁面驗證碼重新整理
撰寫人——軟體二班——陳喜平 需要的工具:tomcat/eclipse/jdk/(注意jdk版本要和tomca相匹配,以及注意區分32位和64位) 步驟:依次建立servlet (伺服器需要)/ jsp(頁面需要) 引入web.xml 如圖所示: doget方法裡面的程式碼: prot
使用java實現郵件傳送功能(已封裝)
現如今,用郵件傳送訊息的人越來越少,可是並不影響我們學習java。 以下給大家帶來自己寫的封裝類,可以直接使用。 首先,需要jar包: 普通javaweb專案:mail.jar maven管理專案: <dependency> &
用JavaScript實現簡單的驗證碼
用JavaScript實現簡單的驗證碼 先展示一下最終的效果圖
JAVA實現手機簡訊驗證碼
手機簡訊驗證碼介面來自於網易雲手機簡訊介面 package com.netease.code; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.apache.http.H
Java實現點選驗證碼
效果 話不多說,先看實現的效果,其中方框為點選區域,真實場景要去掉此方框 核心流程分析 隨機獲取背景圖片 隨機獲取中文字元 在背景圖片中隨機獲取中文字元位置 設定中文旋轉隨機角度、字型顏色 儲存生成文字的座標集合、提示資訊、驗證碼圖片 前端根據提示資訊獲取相
Java實現郵件傳送(很簡單)
Java實現郵件傳送,需要指定郵件伺服器,和自己的郵箱賬號和密碼,謹記 自己的郵箱必須得到到客戶端授權碼,尤其是新開的郵箱,具體看程式碼,包括附件傳送 public class EmailUtils { private static String from = ""; //郵箱賬號 p
Java實現中文算數驗證碼(算數運算+-*/)
為了防止,頁面向資料庫暴力註冊入力,使用者登入暴力破解,所以加入驗證碼,驗證碼無法被軟體獲取上邊的內容(加入算數計算,更加安全),所以在現在技術,暫時安全。 先看效果圖: 第一次載入比較慢,防止無法載入驗證碼顯示,後臺獲取準備好的預設正在載入圖片(靜態圖片
用java動態生成圖片驗證碼
package com.klay.image;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.i
laravel中實現簡訊傳送驗證碼
前段時間想實現一個簡訊驗證碼的功能,但是卡了很長時間。 首先我用的是阿里雲的簡訊服務業務,其首次接入流程如下: 在阿里雲上開通簡訊服務後需要做的: 1,申請簽名 2,申請模板 3,建立Accesskey ,值得說的是,可以通過阿里雲提供的子使用者進行Acc
java實現圖片隨機驗證碼
轉自:https://blog.csdn.net/zhulin40/article/details/51899487<div class="form-group col-lg-6"> <label for="id" class="col-sm-
java實現郵件傳送準備工作(前期配置)
本文主要用的郵件客戶端是:office 2007的outlook,伺服器是apache-james-2.3.2,首先我們來配置一下這個james伺服器: 1.將james伺
java實現郵件傳送, 抄送及多附件傳送
import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; import javax.ac
Java實現超簡單驗證碼識別
閒來想實現程式模擬登陸一個系統,說白了,就是寫個簡單的爬蟲,但是無奈,遇到了數字圖片驗證碼,在查閱了一些方案以後,遂決定自己手寫程式碼實現驗證碼識別,分享一下整個過程。 圖片驗證碼是什麼 圖片驗證碼,這個大家應該都見過。最普遍的圖片驗證碼就是一張
java 實現郵件傳送
import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import java
用Java傳送郵件 smtp驗證碼問題
package cn.estore.utils; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Messa