郵件服務(wù)簡介
郵件服務(wù)在互聯(lián)網(wǎng)早期就已經(jīng)出現(xiàn),如今已成為人們互聯(lián)網(wǎng)生活中必不可少的一項服務(wù)。那么郵件服務(wù)是怎么工作的呢?如下給出郵件發(fā)送與接收的典型過程:
1、發(fā)件人使用SMTP協(xié)議傳輸郵件到郵件服務(wù)器A;
2、郵件服務(wù)器A根據(jù)郵件中指定的接收者,投送郵件至相應(yīng)的郵件服務(wù)器B;
3、收件人使用POP3協(xié)議從郵件服務(wù)器B接收郵件。
SMTP(Simple Mail Transfer Protocol)是電子郵件(email)傳輸?shù)幕ヂ?lián)網(wǎng)標(biāo)準(zhǔn),定義在RFC5321,默認(rèn)使用端口25;
POP3(Post Office Protocol - Version 3)主要用于支持使用客戶端遠(yuǎn)程管理在服務(wù)器上的電子郵件。定義在RFC 1939,為POP協(xié)議的第三版(最新版)。
這兩個協(xié)議均屬于TCP/IP協(xié)議族的應(yīng)用層協(xié)議,運(yùn)行在TCP層之上。
我們?nèi)粘J瞻l(fā)郵件使用的客戶端、Web Mail的背后都在運(yùn)行著這兩個協(xié)議,完成收發(fā)郵件的過程。而現(xiàn)在我們需要使用
SMTP協(xié)議來把發(fā)送給用戶的郵件傳輸?shù)洁]件服務(wù)器。
從客戶端傳輸郵件到服務(wù)器需要雙方的配合,而規(guī)則就定義在SMTP協(xié)議中。我們現(xiàn)在需要做的是找一個SMTP服務(wù)器,再實現(xiàn)一個SMTP客戶端,然后讓客戶端發(fā)送郵件到服務(wù)器。
正文如下
Spring框架使用JavaMailSender接口為發(fā)送郵件提供了一個簡單的抽象,并且Spring Boot也為它提供了自動配置和一個starter模塊。
如果spring.mail.host和相關(guān)的庫(通過spring-boot-starter-mail定義)都存在,一個默認(rèn)的JavaMailSender將被創(chuàng)建。該sender可以通過spring.mail命名空間下的配置項進(jìn)一步自定義,下面本站素文宅博客具體講述一下Spring Boot如何實現(xiàn)發(fā)送郵件。
引入spring-boot-starter-mail依賴,在pom.xml配置文件中增加如下內(nèi)容(基于之前章節(jié)“Spring Boot 構(gòu)建框架”中的pom.xml文件):
org.springframework.boot spring-boot-starter-mail