淘寶網(wǎng)站建設(shè)基本流程圖萬網(wǎng)域名查詢接口
一、名詞概念解釋
- 什么是POP3、SMTP和IMAP?
簡單的說:POP3和IMAP是用來從服務(wù)器上下載郵件的。SMTP適用于發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。所以我們發(fā)送郵件應(yīng)該使用SMTP協(xié)議。
POP3、SMTP和IMAP協(xié)議介紹
IMAP和POP3有什么區(qū)別? - 什么是免費(fèi)郵箱客戶端授權(quán)碼功能?
郵箱客戶端授權(quán)碼是為了避免您的郵箱密碼被盜后,盜號(hào)者通過客戶端登錄郵箱而獨(dú)特設(shè)計(jì)的安防功能。
二、 整合郵件發(fā)送功能
引入依賴
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>
QQ郵箱配置
官方配置說明:參考官方幫助中心
獲取客戶端授權(quán)碼:參考官方幫助中心
詳細(xì)的配置如下:
spring:mail:host: smtp.qq.com #發(fā)送郵件服務(wù)器username: xx@qq.com #QQ郵箱password: xxxxxxxxxxx #客戶端授權(quán)碼protocol: smtp #發(fā)送郵件協(xié)議properties.mail.smtp.auth: trueproperties.mail.smtp.port: 465 #端口號(hào)465或587properties.mail.display.sendmail: Javen #可以任意properties.mail.display.sendname: Spring Boot Guide Email #可以任意properties.mail.smtp.starttls.enable: trueproperties.mail.smtp.starttls.required: trueproperties.mail.smtp.ssl.enable: truedefault-encoding: utf-8
說明:開啟SSL時(shí)使用587端口時(shí)無法連接QQ郵件服務(wù)器
網(wǎng)易系(126/163/yeah)郵箱配置
網(wǎng)易郵箱客戶端授碼:參考官方幫助中心
客戶端端口配置說明:參考官方幫助中心
詳細(xì)的配置如下:
spring:mail:host: smtp.126.comusername: xx@126.compassword: xxxxxxxxprotocol: smtpproperties.mail.smtp.auth: trueproperties.mail.smtp.port: 994 #465或者994properties.mail.display.sendmail: Javenproperties.mail.display.sendname: Spring Boot Guide Emailproperties.mail.smtp.starttls.enable: trueproperties.mail.smtp.starttls.required: trueproperties.mail.smtp.ssl.enable: truedefault-encoding: utf-8from: xx@126.com
特別說明:
- 126郵箱SMTP服務(wù)器地址:smtp.126.com,端口號(hào):465或者994
- 163郵箱SMTP服務(wù)器地址:smtp.163.com,端口號(hào):465或者994
- yeah郵箱SMTP服務(wù)器地址:smtp.yeah.net,端口號(hào):465或者994
三、發(fā)送簡單郵件
@Service
public class MailService {@Resourceprivate JavaMailSender mailSender;@Value("${spring.mail.username}")private String fromEmail;/*** 發(fā)送文本郵件*/public void sendSimpleMail(String to, String subject, String content) {SimpleMailMessage message = new SimpleMailMessage();message.setFrom(fromEmail);message.setTo(to);message.setSubject(subject);message.setText(content);mailSender.send(message);}}
測試代碼:
@RunWith(SpringRunner.class)
@SpringBootTest
public class MailServiceTest {@ResourceMailService mailService;@Testpublic void sendSimpleMail() {mailService.sendSimpleMail("431899405@qq.com","普通文本郵件","普通文本郵件內(nèi)容測試");}
}