欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot實現(xiàn)郵件任務(wù)的步驟詳解

 更新時間:2023年10月17日 10:18:13   作者:野生派蒙  
這篇文章主要介紹了SpringBoot實現(xiàn)郵件任務(wù)的步驟詳解,使用Spring Boot實現(xiàn)QQ郵箱發(fā)送郵件具有快速集成、統(tǒng)一的開發(fā)體驗、強大的維護和擴展能力、可靠的送達(dá)性和安全性等優(yōu)勢,可以幫助你快速構(gòu)建穩(wěn)定可靠的郵件發(fā)送功能,需要的朋友可以參考下

一、使用背景

郵件任務(wù)在實際應(yīng)用開發(fā)中有很多應(yīng)用場景。以下是一些常見的使用到郵件任務(wù)的情況:

  • 用戶注冊和驗證:在用戶注冊過程中,可以通過郵件任務(wù)發(fā)送驗證郵件,要求用戶點擊驗證鏈接來確認(rèn)賬戶。這樣可以確保用戶提供的郵箱是有效的,并且增加注冊流程的安全性。
  • 密碼重置:當(dāng)用戶忘記密碼或需要重置密碼時,可以通過郵件任務(wù)發(fā)送重置密碼鏈接到用戶注冊的郵箱,讓用戶自行修改密碼。這樣可以方便用戶重置密碼,并提供額外的安全性保障。
  • 通知和提醒:在應(yīng)用中,可以通過郵件任務(wù)發(fā)送通知和提醒給用戶。例如,當(dāng)用戶完成某個操作(如購買、訂閱、預(yù)約等),可以發(fā)送電子郵件確認(rèn)訂單或提供相關(guān)信息。
  • 定時報告和通知:對于某些業(yè)務(wù)系統(tǒng),需要定時生成報告并通過郵件發(fā)送給相關(guān)人員。例如,每天生成銷售報告并發(fā)送給銷售團隊,或者每周發(fā)送團隊會議提醒等。
  • 營銷和推廣:企業(yè)可以使用郵件任務(wù)發(fā)送營銷活動和推廣信息給客戶。通過優(yōu)化郵件內(nèi)容和目標(biāo)客戶群體,可以提高營銷和推廣的效果

綜上所述,使用Spring Boot實現(xiàn)QQ郵箱發(fā)送郵件具有快速集成、統(tǒng)一的開發(fā)體驗、強大的維護和擴展能力、可靠的送達(dá)性和安全性等優(yōu)勢,可以幫助你快速構(gòu)建穩(wěn)定可靠的郵件發(fā)送功能

二、郵件任務(wù)的優(yōu)點

  • 集成簡便:Spring Boot提供了豐富的開箱即用功能和自動配置,可以方便地集成QQ郵箱發(fā)送郵件的功能,減少了手動配置和繁瑣的編碼工作,讓開發(fā)人員能夠更專注于業(yè)務(wù)邏輯的實現(xiàn)。
  • 開發(fā)效率高:Spring Boot提供了一套簡潔、統(tǒng)一的開發(fā)框架和規(guī)范,能夠簡化開發(fā)流程,提高開發(fā)效率。它提供了依賴管理、資源配置、依賴注入等功能,讓開發(fā)人員更專注于業(yè)務(wù)代碼的編寫。
  • 生態(tài)豐富:Spring Boot作為Spring家族的一員,有著龐大的社區(qū)和廣泛的生態(tài)系統(tǒng)。在使用Spring Boot開發(fā)過程中,可以利用Spring生態(tài)系統(tǒng)的其他組件和工具,如Spring MVC、Spring Data等,來進一步提升開發(fā)效率。
  • 強大的功能擴展能力:Spring Boot具有良好的可擴展性,可以通過自定義配置、編寫插件、集成其他框架等方式來滿足特定需求。它提供了一套豐富的開發(fā)工具和插件,可以快速地實現(xiàn)各種復(fù)雜的業(yè)務(wù)邏輯和需求。
  • 測試友好:Spring Boot對單元測試和集成測試提供了良好的支持,可以使用JUnit、Mockito等測試工具進行測試。這樣可以確保郵件發(fā)送功能的穩(wěn)定性和正確性,提高代碼質(zhì)量。
  • 可靠性和安全性:QQ郵箱作為一個知名的郵件服務(wù)提供商,擁有穩(wěn)定可靠的郵件發(fā)送服務(wù)。通過Spring Boot的配置和集成,可以確保郵件發(fā)送過程中的身份驗證和數(shù)據(jù)傳輸?shù)陌踩?/li>

三、SpringBoot 實現(xiàn)郵件任務(wù)

接下來開始實操,本文將講述,SpringBoot 實現(xiàn)QQ郵箱發(fā)送,如果想使用其他的郵箱修改application.yml 配置即可

項目結(jié)構(gòu)

在這里插入圖片描述

pom.xml

		<!-- web -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!-- 郵箱 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>

配置QQ郵箱的授權(quán)碼

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

application.yml

spring:
  mail:
    username: 2642503078@qq.com   # 郵箱賬號
    password: jhgndlzfhzaydjhg    # 郵箱密碼,授權(quán)碼是QQ郵箱推出的,用于登錄第三方客戶端的專用密碼,防止密碼明文,保護自身的安全性
    host: smtp.qq.com             # 郵箱的服務(wù),如果使用其他的郵箱修改這個配置即可
    properties:
      mail:
        smtp:
          ssl:
            enable: true          # 開啟加密驗證

service類

  • 實現(xiàn)文本郵件發(fā)送
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * 郵件發(fā)送服務(wù)類
 */
@Service
public class emailSenderService {
    // 注入 mail 實體,所有郵件相關(guān)的操作,都在這個類上
    @Resource
    private JavaMailSenderImpl mailSender;

    /**
     * 發(fā)送文本郵件
     */
    public void textMail() {
        // 簡單郵件消息類
        SimpleMailMessage simpleMessage = new SimpleMailMessage();
        // 郵件主題
        simpleMessage.setSubject("SpringBoot 實現(xiàn)文本郵件發(fā)送~");
        // 郵件內(nèi)容
        simpleMessage.setText("一個文本文件已發(fā)送到你的QQ郵箱上~");
        // 發(fā)送人
        simpleMessage.setTo("2642503078@qq.com");
        // 接收人
        simpleMessage.setFrom("2642503078@qq.com");

        // 開始發(fā)送
        mailSender.send(simpleMessage);
    }

}
  • 實現(xiàn)超文本郵件發(fā)送
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

/**
 * 郵件發(fā)送服務(wù)類
 */
@Service
public class emailSenderService {
    // 注入 mail 實體,所有郵件相關(guān)的操作,都在這個類上
    @Resource
    private JavaMailSenderImpl mailSender;

    /**
     * 發(fā)送超文本郵件
     */
    public void hyperTextMail() throws MessagingException {
        // 負(fù)責(zé)郵件消息類
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        // 參數(shù)1:消息類
        // 參數(shù)2:是否支持發(fā)送附件
        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
        // 郵件主題
        mimeMessageHelper.setSubject("SpringBoot 實現(xiàn)超文本郵件發(fā)送~");
        // 參數(shù)1:郵件內(nèi)容
        // 參數(shù)2:是否支持html
        mimeMessageHelper.setText("<h1 style='color:blue>'一個文本文件已發(fā)送到你的QQ郵箱上~</h1>",true);
        // 附件
        // 參數(shù)1:發(fā)送到郵件的文件名
        // 參數(shù)2:本地文件的絕對路徑,不知道在哪的,右鍵文件點屬性有個位置,復(fù)制下來,加上文件名
        mimeMessageHelper.addAttachment("SpringBoot01.jpg", new File("C:\\Users\\xzh\\Desktop\\SpringBoot01.jpg"));
        mimeMessageHelper.addAttachment("SpringBoot02.jpg", new File("C:\\Users\\xzh\\Desktop\\SpringBoot02.jpg"));
        // 發(fā)送人
        mimeMessageHelper.setTo("2642503078@qq.com");
        // 接收人
        mimeMessageHelper.setFrom("2642503078@qq.com");
        // 開始發(fā)送
        mailSender.send(mimeMessage);
    }
}

啟動類

@SpringBootApplication
public class EmailApplication implements ApplicationRunner {
	@Resource
	private emailSenderService emailService;

	public static void main(String[] args) {
		SpringApplication.run(EmailApplication.class, args);
	}

	@Override
	public void run(ApplicationArguments args) throws Exception {
		// 當(dāng)項目啟動就會執(zhí)行
		emailService.textMail();
	}
}

啟動項目,測試

文本郵件

在這里插入圖片描述

超文本郵件

在這里插入圖片描述

到此這篇關(guān)于SpringBoot實現(xiàn)郵件任務(wù)的步驟詳解的文章就介紹到這了,更多相關(guān)SpringBoot郵件任務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 時間中間鍵的整理

    時間中間鍵的整理

    這篇文章主要介紹了時間中間鍵的整理的相關(guān)資料,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • 使用Servlet處理一個上傳的文件

    使用Servlet處理一個上傳的文件

    今天小編就為大家分享一篇關(guān)于使用Servlet處理一個上傳的文件,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Mybatis自定義攔截器實現(xiàn)權(quán)限功能

    Mybatis自定義攔截器實現(xiàn)權(quán)限功能

    本文主要介紹了Mybatis自定義攔截器實現(xiàn)權(quán)限功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 基于Retrofit+Rxjava實現(xiàn)帶進度顯示的下載文件

    基于Retrofit+Rxjava實現(xiàn)帶進度顯示的下載文件

    這篇文章主要為大家詳細(xì)介紹了基于Retrofit+Rxjava實現(xiàn)帶進度顯示的下載文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Java實現(xiàn)Kruskal算法的示例代碼

    Java實現(xiàn)Kruskal算法的示例代碼

    Kruskal算法是一種用來尋找最小生成樹的算法,由Joseph Kruskal在1956年發(fā)表。用來解決同樣問題的還有Prim算法和Boruvka算法等。本文將介紹用Java語言實現(xiàn)Kruskal算法的示例代碼,需要的可以參考一下
    2022-07-07
  • Spring Cloud Gateway Hystrix fallback獲取異常信息的處理

    Spring Cloud Gateway Hystrix fallback獲取異常信息的處理

    這篇文章主要介紹了Spring Cloud Gateway Hystrix fallback獲取異常信息的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 了解java中對象基礎(chǔ)Object類

    了解java中對象基礎(chǔ)Object類

    本文主要講解了java中對象基礎(chǔ)Object類,文中運用大量代碼講解的非常詳細(xì),想學(xué)習(xí)相關(guān)知識的小伙伴可以參考一下這篇文章
    2021-09-09
  • Java中讀寫鎖ReadWriteLock的原理與應(yīng)用詳解

    Java中讀寫鎖ReadWriteLock的原理與應(yīng)用詳解

    Java并發(fā)編程提供了讀寫鎖,主要用于讀多寫少的場景,今天我們就重點來講解讀寫鎖ReadWriteLock的原理與應(yīng)用場景,感興趣的可以了解一下
    2022-09-09
  • Java類加載器和類加載機制實例分析

    Java類加載器和類加載機制實例分析

    這篇文章主要介紹了Java類加載器和類加載機制,結(jié)合實例形式分析了java類加載器與類加載機制原理、實現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • java反射機制及beanUtils的實現(xiàn)原理分析

    java反射機制及beanUtils的實現(xiàn)原理分析

    本文介紹了Java的反射機制、VO、DTO、PO的概念以及BeanUtils的實現(xiàn)原理和簡單示例,通過反射可以在運行時動態(tài)操作類、方法和字段,BeanUtils用于在不同bean之間進行屬性復(fù)制
    2024-12-12

最新評論