国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot發送郵件詳解

Spring Boot發送郵件詳解

2021-02-01 11:54素文宅 Java教程

這篇文章主要為大家詳細介紹了Spring Boot發送郵件的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Spring框架使用JavaMailSender接口為發送郵件提供了一個簡單的抽象,并且Spring Boot也為它提供了自動配置和一個starter模塊。

如果spring.mail.host和相關的庫(通過spring-boot-starter-mail定義)都存在,一個默認的JavaMailSender將被創建。該sender可以通過spring.mail命名空間下的配置項進一步自定義,下面本站素文宅博客具體講述一下Spring Boot如何實現發送郵件。

引入spring-boot-starter-mail依賴,在pom.xml配置文件中增加如下內容(基于之前章節“Spring Boot 構建框架”中的pom.xml文件):

?
1
2
3
4
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

應用發送郵件案例

application.properties配置文件中加入如下配置(注意替換自己的用戶名和密碼):

?
1
2
3
4
5
6
spring.mail.host=smtp.qq.com
spring.mail.username=用戶名 //發送方的郵箱
spring.mail.password=密碼 //對于qq郵箱而言 密碼指的就是發送方的授權碼
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

郵件service服務代碼,具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
@Service
public class MailService {
 private final Logger logger = LoggerFactory.getLogger(this.getClass());
  
 @Autowired
 private JavaMailSender sender;
  
 @Value("${spring.mail.username}")
 private String from;
  
 /**
  * 發送純文本的簡單郵件
  * @param to
  * @param subject
  * @param content
  */
 public void sendSimpleMail(String to, String subject, String content){
  SimpleMailMessage message = new SimpleMailMessage();
  message.setFrom(from);
  message.setTo(to);
  message.setSubject(subject);
  message.setText(content);
 
  try {
   sender.send(message);
   logger.info("簡單郵件已經發送。");
  } catch (Exception e) {
   logger.error("發送簡單郵件時發生異常!", e);
  }
 }
  
 /**
  * 發送html格式的郵件
  * @param to
  * @param subject
  * @param content
  */
 public void sendHtmlMail(String to, String subject, String content){
  MimeMessage message = sender.createMimeMessage();
 
  try {
   //true表示需要創建一個multipart message
   MimeMessageHelper helper = new MimeMessageHelper(message, true);
   helper.setFrom(from);
   helper.setTo(to);
   helper.setSubject(subject);
   helper.setText(content, true);
 
   sender.send(message);
   logger.info("html郵件已經發送。");
  } catch (MessagingException e) {
   logger.error("發送html郵件時發生異常!", e);
  }
 }
  
 /**
  * 發送帶附件的郵件
  * @param to
  * @param subject
  * @param content
  * @param filePath
  */
 public void sendAttachmentsMail(String to, String subject, String content, String filePath){
  MimeMessage message = sender.createMimeMessage();
 
  try {
   //true表示需要創建一個multipart message
   MimeMessageHelper helper = new MimeMessageHelper(message, true);
   helper.setFrom(from);
   helper.setTo(to);
   helper.setSubject(subject);
   helper.setText(content, true);
 
   FileSystemResource file = new FileSystemResource(new File(filePath));
   String fileName = filePath.substring(filePath.lastIndexOf(File.separator));
   helper.addAttachment(fileName, file);
    
   sender.send(message);
   logger.info("帶附件的郵件已經發送。");
  } catch (MessagingException e) {
   logger.error("發送帶附件的郵件時發生異常!", e);
  }
 }
  
 /**
  * 發送嵌入靜態資源(一般是圖片)的郵件
  * @param to
  * @param subject
  * @param content 郵件內容,需要包括一個靜態資源的id,比如:<img src=\"cid:rscId01\" >
  * @param rscPath 靜態資源路徑和文件名
  * @param rscId 靜態資源id
  */
 public void sendInlineResourceMail(String to, String subject, String content, String rscPath, String rscId){
  MimeMessage message = sender.createMimeMessage();
 
  try {
   //true表示需要創建一個multipart message
   MimeMessageHelper helper = new MimeMessageHelper(message, true);
   helper.setFrom(from);
   helper.setTo(to);
   helper.setSubject(subject);
   helper.setText(content, true);
 
   FileSystemResource res = new FileSystemResource(new File(rscPath));
   helper.addInline(rscId, res);
    
   sender.send(message);
   logger.info("嵌入靜態資源的郵件已經發送。");
  } catch (MessagingException e) {
   logger.error("發送嵌入靜態資源的郵件時發生異常!", e);
  }
 }
}

簡單測試代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
public class MailTests extends BasicUtClass{
 @Autowired
 private MailService mailService;
  
 private String to = "xujijun@mail.cn";
  
 @Test
 public void sendSimpleMail() {
  mailService.sendSimpleMail(to, "主題:簡單郵件", "測試郵件內容");
 }
 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.yoodb.com/yoodb/article/detail/1427

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 在线观看国产视频 | 亚洲在线视频一区 | 国产精品免费观看 | 久久av网 | 91国内在线观看 | 国产免费一区二区三区 | 久久久精品影院 | 久久久成人免费一区二区 | 成人免费视频网 | 日韩免费| 国产欧美综合一区二区三区 | 国产激情视频 | 97视频精品 | 亚洲精品一区二三区不卡 | 日韩免费视频一区二区 | 99这里只有精品视频 | 国产一级一级国产 | 成人黄大片视频在线观看 | 久久夜夜| 亚洲三级在线 | 午夜在线 | 欧美精品一 | 久久久久一区二区 | 人人玩人人添人人澡97 | 欧美精品一区二 | 国产中文字幕在线免费观看 | av成人免费| 日韩精品在线观看中文字幕 | 国产黄 | 黄色影院在线观看 | 夜夜爽99久久国产综合精品女不卡 | 每日更新在线观看av | 亚洲国产精品一区二区三区 | 亚洲成人伦理 | 黄网站色大毛片 | 国产高清视频一区 | 亚洲一区中文字幕在线观看 | 日韩在线一区二区 | 99看| 久久精品国产99国产精品 | 精品久 |