Springboot實(shí)現(xiàn)郵箱驗(yàn)證代碼實(shí)例
Springboot郵箱驗(yàn)證
準(zhǔn)備工作
首先需要開啟郵箱第三方支持以及獲取授權(quán)碼
以QQ郵箱為例:
QQ郵箱設(shè)置——賬戶
![[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-IDOFfzkY-1676769912092)(bussiness.assets/image-20230219090145002.jpg)]](http://img.jbzj.com/file_images/article/202401/2024010409544819.jpg)
開啟POP3/SMTP服務(wù)——完成驗(yàn)證后獲得授權(quán)碼,保存授權(quán)碼
![[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-R428vck5-1676769912094)(bussiness.assets/image-20230219090242065.jpg)]](http://img.jbzj.com/file_images/article/202401/2024010409544820.jpg)
![[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-5mkxpvRK-1676769912096)(bussiness.assets/image-20230219090257866.jpg)]](http://img.jbzj.com/file_images/article/202401/2024010409544821.jpg)
1.導(dǎo)入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.然后在項(xiàng)目的application.yml
spring:
mail:
username: 你的QQ郵箱
password: 你的授權(quán)碼
host: smtp.qq.com
properties:
mail.smtp.ssl.enable: true
3.編寫測(cè)試方法進(jìn)行測(cè)試
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class ShopsApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
@Test
public void contextLoads() throws MessagingException {
int count = 1;//默認(rèn)發(fā)送一次
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
while (count-- != 0) {
String codeNum = "";
int[] code = new int[3];
Random random = new Random();
//自動(dòng)生成驗(yàn)證碼
for (int i = 0; i < 6; i++) {
int num = random.nextInt(10) + 48;
int uppercase = random.nextInt(26) + 65;
int lowercase = random.nextInt(26) + 97;
code[0] = num;
code[1] = uppercase;
code[2] = lowercase;
codeNum += (char) code[random.nextInt(3)];
}
//標(biāo)題
helper.setSubject("您的驗(yàn)證碼為:" + codeNum);
//內(nèi)容
helper.setText("您好!,感謝支持小站。您的驗(yàn)證碼為:" + "<h2>" + codeNum + "</h2>" + "千萬不能告訴別人哦!", true);
//郵件接收者
helper.setTo("123456789@qq.com");
//郵件發(fā)送者,必須和配置文件里的一樣,不然授權(quán)碼匹配不上
helper.setFrom("987654321@qq.com");
mailSender.send(mimeMessage);
}
}測(cè)試結(jié)果

到此這篇關(guān)于Springboot實(shí)現(xiàn)郵箱驗(yàn)證代碼實(shí)例的文章就介紹到這了,更多相關(guān)Springboot郵箱驗(yàn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中instanceof關(guān)鍵字的用法總結(jié)
instanceof是Java的一個(gè)二元操作符,和==,>,<是同一類東東。由于它是由字母組成的,所以也是Java的保留關(guān)鍵字。它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例,返回boolean類型的數(shù)據(jù)2013-10-10
Mybatis 中Mapper使用package方式配置報(bào)錯(cuò)的解決方案
這篇文章主要介紹了Mybatis 中Mapper使用package方式配置報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
使用@Autowired注解引入server服務(wù)層方法時(shí)報(bào)錯(cuò)的解決
這篇文章主要介紹了使用@Autowired注解引入server服務(wù)層方法時(shí)報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
AbstractQueuedSynchronizer內(nèi)部類Node使用講解
這篇文章主要為大家介紹了AbstractQueuedSynchronizer內(nèi)部類Node使用講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
解決SpringBoot運(yùn)行報(bào)錯(cuò):找不到或無法加載主類的問題
這篇文章主要介紹了解決SpringBoot運(yùn)行報(bào)錯(cuò):找不到或無法加載主類的問題,具有很好的參考價(jià)值,對(duì)大家的學(xué)習(xí)或工作有一定的參考價(jià)值,需要的朋友可以參考下2023-09-09
Spring Security中用JWT退出登錄時(shí)遇到的坑
使用了JWT后,每次請(qǐng)求都要攜帶 Bearer Token 并且被專門的過濾器攔截解析之后才能將用戶認(rèn)證信息保存到 SecurityContext 中去,接下來通過本文給大家介紹Spring Security中用JWT退出登錄時(shí)遇到的坑,感興趣的朋友一起看看吧2021-10-10
Java兩種方法計(jì)算出階乘尾部連續(xù)0的個(gè)數(shù)
這篇文章主要介紹了Java兩種方法計(jì)算出階乘尾部連續(xù)0的個(gè)數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

