日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot2.5.4发送邮件4种方式

發布時間:2025/3/12 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot2.5.4发送邮件4种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.準備

在創建SpringBoot項目

二、選擇依賴

選擇依賴時 發現其選擇依賴時有郵件發送與Springboot整合的jar包,我們勾選即可

如果未勾選也不要緊,咱們手動導入

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional> </dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency>

三、等待依賴下載完成, 增加配置文件

spring:mail:#smtp服務主機 qq郵箱則為smtp.qq.comhost: smtp.qq.com#服務協議protocol: smtp# 編碼集default-encoding: UTF-8#發送郵件的賬戶username: 251xxxx2@qq.com#授權碼password: opwuxxxxxoceaiitest-connection: trueproperties:mail:smtp:auth: truestarttls:enable: truerequired: true

四、簡單郵件發送

Springboot已經給我們郵件發送進行了非常好的整合了,我們只需要注入郵件發送接口 調用其中的方法,就能輕松而愉悅的進行郵件發送了!

我們只需要在任意交由Spring管理的類(例如你的controller、service層等)下注入以下接口即可

@Autowiredprivate JavaMailSender mailSender;

由于每一封郵件都有固定的內容 例如 收件人信息 郵件內容 郵件標題 那么我們充分利用java面向對象的特性,我們把郵件發送抽取為一個對象

獲取發送方賬戶信息

@Value("${spring.mail.username}")private String from;

定義一個實體:

package info.lyscms.springboot.mail.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;/*** @author Administrator * @version 2021/5/13 0013*/@Data@AllArgsConstructor@NoArgsConstructorpublic class SimpleEmailEntity {/*** 主題*/private String subject;/*** 主題內容*/private String content;/*** 接收人郵箱列表*/private String[] tos; }

定義發送接口

void sendSimpleMail(SimpleEmailEntity simpleEmailEntity);

發送郵件方法實現示例

@Overridepublic void sendSimpleMail(SimpleEmailEntity simpleEmailEntity) {SimpleMailMessage message = new SimpleMailMessage();message.setFrom(from);message.setSubject(simpleEmailEntity.getSubject());message.setText(simpleEmailEntity.getContent());message.setTo(simpleEmailEntity.getTos());javaMailSender.send(message);}

定義一個controller類并定義發送郵件接口

package info.lyscms.springboot.mail.controller;?import info.lyscms.springboot.mail.entity.SimpleEmailEntity;import info.lyscms.springboot.mail.service.MailService;import lombok.RequiredArgsConstructor;import org.springframework.web.bind.annotation.*;?@RestController@RequiredArgsConstructor@RequestMapping("/mail")public class MailController {?private final MailService mailService;?@PostMapping("/simple")public void sendSimpleMail(@RequestBody SimpleEmailEntity simpleEmailEntity){mailService.sendSimpleMail(simpleEmailEntity);}}

使用類似postman工具調用接口

###POST http://localhost:8080/mail/simpleContent-Type: application/json?{"tos": ["ly23580512@163.com"],"subject": "Hello Watcher","content": "Welcome to lyscms.info"}

五、HTML格式郵件發送

1.創建一個MINE消息

//創建一個MINE消息MimeMessage message = javaMailSender.createMimeMessage();

2.創建一個MimeMessageHelper對象,并且需要傳入一個MimeMessage

MimeMessageHelper mineHelper = new MimeMessageHelper(message, true);//誰發mineHelper.setFrom(from);//誰要接收mineHelper.setTo(htmlEmailEntity.getTos());//郵件主題mineHelper.setSubject(htmlEmailEntity.getSubject());//郵件內容 true 表示帶有附件或htmlmineHelper.setText(htmlEmailEntity.getContent(), true);

3.使用JavaMailSender接口發送

javaMailSender.send(message);

4.content 是類似<h1>Hi Xiaoming…</h1><span>Hi Xiaoming…</span>這樣的HTML字符串即可。

###POST http://localhost:8080/mail/htmlContent-Type: application/json?{"tos": ["ly23580512@163.com],"subject": "Hello Watcher Html","content": "<h1>Hi Xiaoming...</h1><span>Hi Xiaoming...</span>"}

六、帶附件郵件發送

相對html發送方式就多了一個addAttachment方法

//添加附件 mineHelper.addAttachment("附件文件名稱.txt",new File("D://1.txt"));

訪問

### POST http://localhost:8080/mail/file Content-Type: application/json{"tos": ["ly23580512@163.com"],"subject": "Hello Watcher Html File","content": "<h1>Hi Xiaoming...</h1><span>Hi Xiaoming...</span>" }

七、帶內嵌圖片郵件發送

// 圖片占位寫法 如果圖片鏈接寫入模板 注釋下面這一行 helper.addInline("img01",new FileSystemResource(filePath)); ### POST http://localhost:8080/mail/inline/image Content-Type: application/json{"tos": ["ly23580512@163.com"],"subject": "Hello Watcher Html images","content": "<h1>Hello</h1><p><img src=\"cid:img01\"></p>" }

總結

以上是生活随笔為你收集整理的SpringBoot2.5.4发送邮件4种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。