最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、使用背景

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

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

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

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

  • 集成簡便:Spring Boot提供了豐富的開箱即用功能和自動(dòng)配置,可以方便地集成QQ郵箱發(fā)送郵件的功能,減少了手動(dòng)配置和繁瑣的編碼工作,讓開發(fā)人員能夠更專注于業(yè)務(wù)邏輯的實(shí)現(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等,來進(jìn)一步提升開發(fā)效率。
  • 強(qiáng)大的功能擴(kuò)展能力:Spring Boot具有良好的可擴(kuò)展性,可以通過自定義配置、編寫插件、集成其他框架等方式來滿足特定需求。它提供了一套豐富的開發(fā)工具和插件,可以快速地實(shí)現(xiàn)各種復(fù)雜的業(yè)務(wù)邏輯和需求。
  • 測試友好:Spring Boot對單元測試和集成測試提供了良好的支持,可以使用JUnit、Mockito等測試工具進(jìn)行測試。這樣可以確保郵件發(fā)送功能的穩(wěn)定性和正確性,提高代碼質(zhì)量。
  • 可靠性和安全性:QQ郵箱作為一個(gè)知名的郵件服務(wù)提供商,擁有穩(wěn)定可靠的郵件發(fā)送服務(wù)。通過Spring Boot的配置和集成,可以確保郵件發(fā)送過程中的身份驗(yàn)證和數(shù)據(jù)傳輸?shù)陌踩?/li>

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

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

項(xiàng)目結(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   # 郵箱賬號(hào)
    password: jhgndlzfhzaydjhg    # 郵箱密碼,授權(quán)碼是QQ郵箱推出的,用于登錄第三方客戶端的專用密碼,防止密碼明文,保護(hù)自身的安全性
    host: smtp.qq.com             # 郵箱的服務(wù),如果使用其他的郵箱修改這個(gè)配置即可
    properties:
      mail:
        smtp:
          ssl:
            enable: true          # 開啟加密驗(yàn)證

service類

  • 實(shí)現(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 實(shí)體,所有郵件相關(guān)的操作,都在這個(gè)類上
    @Resource
    private JavaMailSenderImpl mailSender;

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

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

}
  • 實(shí)現(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 實(shí)體,所有郵件相關(guān)的操作,都在這個(gè)類上
    @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 實(shí)現(xiàn)超文本郵件發(fā)送~");
        // 參數(shù)1:郵件內(nèi)容
        // 參數(shù)2:是否支持html
        mimeMessageHelper.setText("<h1 style='color:blue>'一個(gè)文本文件已發(fā)送到你的QQ郵箱上~</h1>",true);
        // 附件
        // 參數(shù)1:發(fā)送到郵件的文件名
        // 參數(shù)2:本地文件的絕對路徑,不知道在哪的,右鍵文件點(diǎn)屬性有個(gè)位置,復(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);
    }
}

啟動(dòng)類

@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)項(xiàng)目啟動(dòng)就會(huì)執(zhí)行
		emailService.textMail();
	}
}

啟動(dòng)項(xiàng)目,測試

文本郵件

在這里插入圖片描述

超文本郵件

在這里插入圖片描述

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

相關(guān)文章

  • Java基于自定義類加載器實(shí)現(xiàn)熱部署過程解析

    Java基于自定義類加載器實(shí)現(xiàn)熱部署過程解析

    這篇文章主要介紹了Java基于自定義類加載器實(shí)現(xiàn)熱部署過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 如何使用攔截器獲取請求的入?yún)⒉⑵滢D(zhuǎn)化為Java對象詳解

    如何使用攔截器獲取請求的入?yún)⒉⑵滢D(zhuǎn)化為Java對象詳解

    這篇文章主要介紹了如何使用攔截器獲取請求的入?yún)⒉⑵滢D(zhuǎn)化為Java對象的相關(guān)資料,文中介紹了兩種實(shí)現(xiàn)的方法,并給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2025-02-02
  • MyBatis-plus如何執(zhí)行自定義SQL

    MyBatis-plus如何執(zhí)行自定義SQL

    這篇文章主要介紹了MyBatis-plus如何執(zhí)行自定義SQL問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 一文看懂Mybatis中的延遲加載

    一文看懂Mybatis中的延遲加載

    這篇文章主要介紹了一文看懂Mybatis中的延遲加載,延遲加載也稱為懶加載,是指在進(jìn)行表的關(guān)聯(lián)查詢時(shí),按照設(shè)置延遲規(guī)則推遲對關(guān)聯(lián)對象的select查詢,MyBatis 的延遲加載只是對關(guān)聯(lián)對象的查詢有遲延設(shè)置,對于主加載對象都是直接執(zhí)行查詢語句的,需要的朋友可以參考下
    2023-10-10
  • spring?@Primary-在spring中的使用方式

    spring?@Primary-在spring中的使用方式

    這篇文章主要介紹了spring?@Primary-在spring中的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助。
    2022-01-01
  • java序列化和serialVersionUID的使用方法實(shí)例

    java序列化和serialVersionUID的使用方法實(shí)例

    這篇文章主要介紹了java序列化和serialVersionUID的使用方法實(shí)例的相關(guān)資料,這里說明很詳細(xì)的使用方法讓你徹底學(xué)會(huì),需要的朋友可以參考下
    2017-08-08
  • 關(guān)于SpringBoot單元測試(cobertura生成覆蓋率報(bào)告)

    關(guān)于SpringBoot單元測試(cobertura生成覆蓋率報(bào)告)

    這篇文章主要介紹了關(guān)于SpringBoot單元測試(cobertura生成覆蓋率報(bào)告),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java使用Scanner類進(jìn)行控制臺(tái)輸入實(shí)現(xiàn)方法

    Java使用Scanner類進(jìn)行控制臺(tái)輸入實(shí)現(xiàn)方法

    這篇文章主要介紹了Java使用Scanner類進(jìn)行控制臺(tái)輸入實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Springboot循環(huán)依賴的原因及解決

    Springboot循環(huán)依賴的原因及解決

    本文主要介紹了Spring Boot中的循環(huán)依賴問題,包括循環(huán)依賴的定義、產(chǎn)生原因以及解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • 在idea中將java項(xiàng)目中的單個(gè)類打包成jar包操作

    在idea中將java項(xiàng)目中的單個(gè)類打包成jar包操作

    這篇文章主要介紹了在idea中將java項(xiàng)目中的單個(gè)類打包成jar包操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評論

荣成市| 什邡市| 舞钢市| 珲春市| 贵溪市| 东乌| 阿坝县| 镇康县| 英山县| 九江县| 玛曲县| 潮安县| 临夏市| 微博| 湖口县| 亚东县| 定州市| 浦江县| 鄢陵县| 武宣县| 八宿县| 墨玉县| 志丹县| 黔西县| 蕉岭县| 武冈市| 徐汇区| 汤原县| 山阴县| 景宁| 连州市| 高平市| 从江县| 浠水县| 江西省| 昌乐县| 阿克苏市| 沙湾县| 那坡县| 满城县| 大田县|