天天看點

Java實作郵箱驗證碼

聲明:本欄目所使用的素材都是凱哥學堂VIP學員所寫,學員有權匿名,對文章有最終解釋權;凱哥學堂旨在促進VIP學員互相學習的基礎上公開筆記。

郵箱驗證碼

一般能使用郵箱注冊的賬戶,在進行登入、注冊或忘記密碼等操作時,都能使用郵箱進行驗證,是以郵箱驗證碼也使用得比較廣泛,不過相對于短信驗證碼來說,郵箱驗證碼使用的少一些,因為現在是個人都有手機号碼,但是不一定會有郵箱賬号。

使用郵箱來發送驗證碼,不需要像短信驗證碼那樣調用短信服務API來發送驗證碼,但是需要有一個能夠發送郵件的郵箱伺服器或者使用第三方的郵箱,例如163、126、qq郵箱等。

不管是郵箱伺服器還是第三方的郵箱需要開啟POP3、SMTP、IMAP服務,因為開啟了這些服務後才能被第三方調用這個郵箱進行發送郵件。

因為自己搭建郵箱伺服器比較麻煩,是以我這裡使用163的郵箱作為示範。

1.首先得去郵箱裡開啟服務,登入後點選設定可以看到這些服務的選項:

Java實作郵箱驗證碼

2.設定服務,第一次設定的話,會需要短信驗證,然後還會要求你設定一個密碼:

Java實作郵箱驗證碼
Java實作郵箱驗證碼
  1. 進行短信驗證:
Java實作郵箱驗證碼
  1. 設定密碼:
Java實作郵箱驗證碼
  1. 完成:
Java實作郵箱驗證碼

這個設定的密碼也就是授權碼要記住,發送郵件的時候需要用到這個授權碼。

然後我們來使用Java編寫一個發送郵件的類,但是寫這個代碼之前你得先獲得下圖中的jar包,需要使用這些第三方的jar包來實作郵件的發送:

Java實作郵箱驗證碼

獲得jar包後,把這些jar包都導入到web工程下的lib目錄中:

Java實作郵箱驗證碼

有了這些jar包後,就可以開始編寫代碼了,我們先寫一個簡單的類來測試一下能否成功發送郵件,代碼示例:

Java實作郵箱驗證碼

運作結果:

Java實作郵箱驗證碼

如圖,郵件可以正常的發送,并且收件人也能收到。

關于郵件的驗證碼的問題:

有時候郵件會發送的比較慢,甚至會發送不出去。是以使用者在這種情況下就需要進行等待,最經典的就是那個圓圈的圖示會一直在轉圈,為了解決這種等待的問題,可以将驗證碼的發送請求存放到一個隊列集合中,讓它在背景進行發送,這樣的話使用者發送驗證碼時就不至于卡在目前頁面裡,示意圖:

Java實作郵箱驗證碼