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

SpringBoot實(shí)現(xiàn)發(fā)送電子郵件

 更新時(shí)間:2022年01月26日 16:12:54   作者:碼農(nóng)洞見(jiàn)  
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)發(fā)送電子郵件,電子郵件是—種用電子手段提供信息交換的通信方式,是互聯(lián)網(wǎng)應(yīng)用最廣的服務(wù)。通過(guò)網(wǎng)絡(luò)的電子郵件系統(tǒng),用戶可以非??焖俚姆绞?,與世界上任何一個(gè)角落的網(wǎng)絡(luò)用戶聯(lián)系,下面就來(lái)看看SpringBoot如何實(shí)現(xiàn)發(fā)送電子郵件吧

1. 前言

電子郵件是—種用電子手段提供信息交換的通信方式,是互聯(lián)網(wǎng)應(yīng)用最廣的服務(wù)。通過(guò)網(wǎng)絡(luò)的電子郵件系統(tǒng),用戶可以非??焖俚姆绞剑◣酌腌娭畠?nèi)可以發(fā)送到世界上任何指定的目的地),與世界上任何一個(gè)角落的網(wǎng)絡(luò)用戶聯(lián)系。從1969年10月世界上的第一封電子郵件發(fā)出,到2021年,已經(jīng)過(guò)去將近半個(gè)世紀(jì)了。雖然即時(shí)通訊和視頻會(huì)議變得日益普及,但電子郵件依然有著廣泛的使用場(chǎng)景和不可撼動(dòng)的歷史地位。

1.1 電子郵件發(fā)展史

起源:1969年10月世界上的第一封電子郵件是由計(jì)算機(jī)科學(xué)家Leonard K.教授發(fā)給他的同事的一條簡(jiǎn)短消息。這條消息只有兩個(gè)字母:“LO”。Leonard K.教授因此被稱為電子郵件之父。
雖然電子郵件是在70年代發(fā)明的,它卻是在80年才得以興起。到90年代中期,互聯(lián)網(wǎng)瀏覽器誕生,全球網(wǎng)民人數(shù)激增,電子郵件被廣為使用。

1.2 電子郵件原理

電子郵件在Internet上發(fā)送和接收的原理可以很形象地用我們?nèi)粘I钪朽]寄包裹來(lái)形容:當(dāng)我們要寄一個(gè)包裹時(shí),我們首先要找到任何一個(gè)有這項(xiàng)業(yè)務(wù)的郵局,在填寫(xiě)完收件人姓名、地址等等之后包裹就寄出而到了收件人所在地的郵局,那么對(duì)方取包裹的時(shí)候就必須去這個(gè)郵局才能取出。同樣的,當(dāng)我們發(fā)送電子郵件時(shí),這封郵件是由郵件發(fā)送服務(wù)器(任何一個(gè)都可以)發(fā)出,并根據(jù)收信人的地址判斷對(duì)方的郵件接收服務(wù)器而將這封信發(fā)送到該服務(wù)器上,收信人要收取郵件也只能訪問(wèn)這個(gè)服務(wù)器才能完成。

1.3 電子郵件地址的構(gòu)成

電子郵件地址的格式由三部分組成。第一部分“USER”代表用戶信箱的賬號(hào),對(duì)于同一個(gè)郵件接收服務(wù)器來(lái)說(shuō),這個(gè)賬號(hào)必須是唯一的;第二部分“@”是分隔符;第三部分是用戶信箱的郵件接收服務(wù)器域名,用以標(biāo)志其所在的位置。

用戶標(biāo)識(shí)符+@+域名

其中:@是“at”的符號(hào),表示“在”的意思。

1.4 電子郵件傳輸協(xié)議

電子郵件需要在郵件客戶端和郵件服務(wù)器之間,以及兩個(gè)郵件服務(wù)器之間進(jìn)行郵件傳遞,那就必須要遵守一定的規(guī)則,這個(gè)規(guī)則就是郵件傳輸協(xié)議。

下面我們分別簡(jiǎn)單介紹幾種協(xié)議:

SMTP協(xié)議:全稱為Simple Mail Transfer Protocol,簡(jiǎn)單郵件傳輸協(xié)議。它定義了郵件客戶端軟件和SMTP郵件服務(wù)器之間,以及兩臺(tái)SMTP郵件服務(wù)器之間的通信規(guī)則。
POP3協(xié)議:全稱為Post Office Protocol,郵局協(xié)議。它定義了郵件客戶端軟件和POP3郵件服務(wù)器的通信規(guī)則。
IMAP協(xié)議:全稱為 Internet Message Access Protocol,Internet消息訪問(wèn)協(xié)議,它是對(duì)POP3協(xié)議的一種擴(kuò)展,也是定義了郵件客戶端軟件和IMAP郵件服務(wù)器的通信規(guī)則。

2. 實(shí)現(xiàn)發(fā)送電子郵件

Java在發(fā)明之初,就開(kāi)始支持發(fā)送郵件,通過(guò)java mail包方式去操作郵件發(fā)送的內(nèi)容和協(xié)議,但是,這種發(fā)送方式稍微比較復(fù)雜,需要配置各種參數(shù)、協(xié)議、內(nèi)容,之后產(chǎn)生了Spring框架。Spring在java mail的基礎(chǔ)上進(jìn)行了一些封裝,使發(fā)送郵件的過(guò)程的復(fù)雜大大減少。SpringBoot Mail在Spring Mail的基礎(chǔ)上,再次進(jìn)行一次封裝,使得發(fā)送郵件的便利度上,更為簡(jiǎn)單。下面我們就開(kāi)始SpringBoot實(shí)現(xiàn)發(fā)送郵件的編程之旅吧!

(1)準(zhǔn)備帳號(hào)

注冊(cè)發(fā)件郵箱并設(shè)置客戶端授權(quán)碼,這里以163免費(fèi)郵箱為例:

(2)構(gòu)建maven工程,添加郵件配置和依賴包

application.yml文件配置參數(shù):

spring:
? mail:
? ?? ?#郵箱配置
? ? host: smtp.163.com
? ? #郵箱地址
? ? username: manoninsight@163.com
? ? #SMTP授權(quán)密碼
? ? password: LEDEYBCUHIIBXLPG
? ? properties:
? ? ? mail:
? ? ? ? smtp:
? ? ? ? ? socketFactory:
? ? ? ? ? ? class: javax.net.ssl.SSLSocketFactory
? ? default-encoding: utf-8

pom.xml依賴spring-boot-starter-mail模塊:

<dependency>
? ? <groupId>org.springframework.boot</groupId>
? ? <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

(3)代碼實(shí)現(xiàn)

@RestController
public class MailController {
? ? @Autowired
? ? JavaMailSenderImpl javaMailSender;
? ? @RequestMapping("/mail")
? ? public String sendMail(){
? ? ? ? SimpleMailMessage message = new SimpleMailMessage();
? ? ? ? //郵件發(fā)送
? ? ? ? message.setFrom("manoninsight@163.com");
? ? ? ? //郵件接收,多個(gè)帳號(hào)用逗號(hào)分割
? ? ? ? message.setTo("pps1208@126.com","420076360@qq.com");
? ? ? ? //郵件主題
? ? ? ? message.setSubject("公眾號(hào):碼農(nóng)洞見(jiàn)");
? ? ? ? //郵件內(nèi)容
? ? ? ? message.setText("你好,我是碼農(nóng)洞見(jiàn),歡迎大家關(guān)注!");
? ? ? ? javaMailSender.send(message);
? ? ? ? return "郵件發(fā)送demo!";
? ? }
}

(4)測(cè)試結(jié)果,收到了電子郵件:

3. 碼農(nóng)來(lái)洞見(jiàn)

電子郵件溝通的方式屬于異步通信,與即時(shí)軟件有所區(qū)別,即時(shí)軟件盛行的當(dāng)下,仍然有很多人喜歡使用電子郵件,究竟是什么原因呢?歸結(jié)原因如下四點(diǎn):

  • (1)電子郵件溝通具有儀式感,比如某些重要的活動(dòng)邀請(qǐng)或者信息通知
  • (2)電子郵件溝通便于協(xié)作,發(fā)送電子郵件可以選擇抄送、密送、群發(fā)等。
  • (3)電子郵件溝通記錄可查詢
  • (4)電子郵件溝通要求內(nèi)容邏輯清晰,電子郵件一般不需要即時(shí)答復(fù),讓溝通的雙方有思考的時(shí)間

最后,電子郵箱作為互聯(lián)網(wǎng)早期出現(xiàn)的溝通工具,經(jīng)過(guò)不斷的迭代更新,與即時(shí)通訊工具之間已形成優(yōu)劣互補(bǔ),成為人們生活工作中必不可少的一部分。

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

相關(guān)文章

  • Java中常用的設(shè)計(jì)模式之策略模式詳解

    Java中常用的設(shè)計(jì)模式之策略模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java中常用的設(shè)計(jì)模式之策略模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 詳解spring boot集成RabbitMQ

    詳解spring boot集成RabbitMQ

    RabbitMQ作為AMQP的代表性產(chǎn)品,在項(xiàng)目中大量使用。結(jié)合現(xiàn)在主流的spring boot,極大簡(jiǎn)化了開(kāi)發(fā)過(guò)程中所涉及到的消息通信問(wèn)題。
    2017-03-03
  • SpringBoot 進(jìn)行限流的操作方法

    SpringBoot 進(jìn)行限流的操作方法

    限流是對(duì)某一時(shí)間窗口內(nèi)的請(qǐng)求數(shù)進(jìn)行限制,保持系統(tǒng)的可用性和穩(wěn)定性,防止因流量暴增而導(dǎo)致的系統(tǒng)運(yùn)行緩慢或宕機(jī)。本文重點(diǎn)給大家介紹SpringBoot 進(jìn)行限流的操作方法,感興趣的朋友一起看看吧
    2021-10-10
  • Java設(shè)計(jì)模式之單例模式示例詳解

    Java設(shè)計(jì)模式之單例模式示例詳解

    單例模式是最簡(jiǎn)單也是最基礎(chǔ)的設(shè)計(jì)模式之一,單例模式確保某個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。本文將通過(guò)一些示例代碼為大家詳細(xì)介紹一下單例模式,感興趣的可以了解一下
    2021-12-12
  • ThreadLocal使用案例_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    ThreadLocal使用案例_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了ThreadLocal使用案例分析,需要的朋友可以參考下
    2017-08-08
  • Mybatis之Mapper動(dòng)態(tài)代理實(shí)例解析

    Mybatis之Mapper動(dòng)態(tài)代理實(shí)例解析

    這篇文章主要介紹了Mybatis之Mapper動(dòng)態(tài)代理實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • IDEA項(xiàng)目代碼上傳gitlab遠(yuǎn)程倉(cāng)庫(kù)過(guò)程圖解

    IDEA項(xiàng)目代碼上傳gitlab遠(yuǎn)程倉(cāng)庫(kù)過(guò)程圖解

    這篇文章主要介紹了IDEA項(xiàng)目代碼上傳gitlab遠(yuǎn)程倉(cāng)庫(kù)過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 淺談spring ioc的注入方式及注入不同的數(shù)據(jù)類型

    淺談spring ioc的注入方式及注入不同的數(shù)據(jù)類型

    這篇文章主要介紹了淺談spring ioc的注入方式及注入不同的數(shù)據(jù)類型,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • JDK、J2EE、J2SE、J2ME四個(gè)易混淆概念區(qū)分

    JDK、J2EE、J2SE、J2ME四個(gè)易混淆概念區(qū)分

    這篇文章將向你詳細(xì)介紹JDK、J2EE、J2SE、J2ME的概念以及他們的關(guān)系區(qū)別。
    2015-09-09
  • Spring Cloud Config RSA簡(jiǎn)介及使用RSA加密配置文件的方法

    Spring Cloud Config RSA簡(jiǎn)介及使用RSA加密配置文件的方法

    Spring Cloud 為開(kāi)發(fā)人員提供了一系列的工具來(lái)快速構(gòu)建分布式系統(tǒng)的通用模型 。本文重點(diǎn)給大家介紹Spring Cloud Config RSA簡(jiǎn)介及使用RSA加密配置文件的方法,感興趣的朋友跟隨腳步之家小編一起學(xué)習(xí)吧
    2018-05-05

最新評(píng)論