在Spring Boot中發送郵件,需要使用Spring提供的org.springframework.mail.javamail.JavaMailSender,它提供了許多簡易的用法,可以發送簡單郵件,HTML格式郵件,帶附件的郵件及模板郵件。
創建Spring Boot工程
添加依賴: spring-boot-starter-mail
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 復制代碼
在application.yml配置文件中添加郵件相關配置(以163郵箱為例)
spring:
## 郵件配置
mail:
host: smtp.163.com
username: 郵箱
password: 郵箱授權密碼
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
復制代碼
使用Spring Boot發送簡單郵件
@Service(value = "jmsService")
public class JmsService {
@Autowired
private JavaMailSender jms;
public void sendSimpleMail(String sender, String receiver, String subject, String text) {
try {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(sender); // 發送者
message.setTo(receiver); // 接受者
message.setSubject(subject); // 郵件主題
message.setText(text); // 郵件正文
jms.send(message);
} catch (Exception exception) {
// TODO 異常處理
}
}
}
復制代碼
使用Spring Boot發送HTML格式郵件
@Service(value = "jmsService")
public class JmsService {
@Autowired
private JavaMailSender jms;
public void sendHtmlMail(String sender, String receiver, String subject, String htmlText) {
MimeMessage message = null;
try {
message = jms.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(sender); // 發送者
helper.setTo(receiver); // 接受者
helper.setSubject(subject); // 郵件主題
if (StringUtil.isNotEmpty(htmlText)) {
StringBuffer sb = new StringBuffer(htmlText);
helper.setText(sb.toString(), true); // HTML
}
jms.send(message);
} catch (Exception exception) {
// TODO 異常處理
}
}
}
復制代碼
使用Spring Boot發送帶附件的郵件
@Service(value = "jmsService")
public class JmsService {
@Autowired
private JavaMailSender jms;
public void sendSimpleMailWithAttachment(String sender, String receiver, String subject, String filePath) {
MimeMessage message = null;
try {
message = jms.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(sender); // 發送者
helper.setTo(receiver); // 接受者
helper.setSubject(subject); // 郵件主題
helper.setText("詳情參見附件內容!"); // 郵件正文
File file = new File(filePath);
FileSystemResource fileResource = new FileSystemResource(file);
helper.addAttachment(file.getName(), fileResource); // 附件
jms.send(message);
} catch (Exception exception) {
// TODO 異常處理
}
}
}
復制代碼
使用Spring Boot發送模板郵件,以thymeleaf為例
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 復制代碼
spring:
## thymelea模板配置
thymeleaf:
#thymeleaf 所在路徑
prefix: classpath:/templates/
#thymeleaf 后綴
suffix: .html
#thymeleaf 采用的標準
mode: HTML5
#thymeleaf 編碼格式
encoding: UTF-8
復制代碼
在項目resources/templates目錄下新建郵件模板template.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>注冊碼</title>
</head>
<body>
您好,您的注冊碼為<span th:text="${code}"></span>,請在5分鐘內使用完成操作。
</body>
</html>
復制代碼
@Service(value = "jmsService")
public class JmsService {
@Autowired
private JavaMailSender jms;
@Autowired
private TemplateEngine templateEngine;
public void sendTemplateEmail(String sender, String receiver, String subject, String code) {
MimeMessage message = null;
try {
message = jms.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(sender); // 發送者
helper.setTo(receiver); // 接受者
helper.setSubject(subject); // 郵件主題
Context context = new Context();
context.setVariable("code", code); // 模板郵件參數
String template = templateEngine.process("template", context);
helper.setText(template, true);
jms.send(message);
} catch (Exception exception) {
// TODO 異常處理
}
}
}
鏈接:https://juejin.im/post/6876818580286603278
來源:掘金
天編輯了一套郵件內容,準備發送給潛在用戶,傳統的發送文檔的形式都看膩了,所以就編輯了網頁格式,看起來效果還不錯,分享一下。
下面是準備好的文字內容。
數據優化、攜手并進、共創財富
滿足客戶需求,信守服務承諾
1、針對每家媒體的要求,按實際情況制定不同的優化解決方案;
2、系統會根據市場需求不斷升級,滿足客戶所需要功能與效果;
3、我們24小時在線值守,響應較快,能做到實時處理各種狀況;
4、關于客戶的信息,我們也嚴格做到保密,這是行業操守;
5、效果和真實訪客的效果一樣,可以為媒體網站節省成本;
6、直接與操作員對接,省心、省力、省時、省事。
升級日志、系統功能、技術突破
實力技術團隊,系統升級成果;
*:預置任務代碼,按時準時執行;
*:每日真人真機獨立IP點擊達到5萬數據測試;
*:每日真人真機獨立UV訪客達到65萬數據測試;
*:每日真人真機曝光PV數據達到235萬以上;
*:同步激活曝光監測代碼和點擊監測代碼;
*:點擊數據可以播放頁面視頻10條以內;
*:點擊數據可以設置流量時間段、IP所在地域;
*:兼容HTML5響應式頁面,JS、Iframe框架代碼;
*:開啟訪問彈窗,最多可以設置5個鏈接頁面;
*:設定流量來源地址、停留時間、多次深度跳轉;
*:可以激活任何第三方國內外監測系統,跳出率低;
*:支持動態監測,按順序執行,避免IP重復;
*:支持API、SDK、APK、APP、IPA、JAR數據測試*:自定義流量設備系統來源:
Android
iPhone
iPad
Windows Phone
BlackBerry
Amazon Kindle
微信內置瀏覽器
手機QQ內置瀏覽器
手機QQ空內置瀏覽器
Trident內核瀏覽器(IE瀏覽器)
Tnident內核瀏覽器(IE瀏覽器)
WebKit內核瀏覽器(谷歌、蘋果瀏覽器、Microsoft Edge)
Gecko內核瀏覽器(火狐瀏覽器)
雙核核瀏覽器(360、搜狗、獵豹、傲游)
在發送郵件的時候選擇-格式-編輯HTML源碼
預覽的效果是這個樣子的,直接在郵件的內容里面可以看到的內容。
這效果,是不是很帥?
TML5 文件上傳下載的實例代碼,WEBUPLOADER之大文件分段上傳、斷點續傳,HTML DOM INPUT FILE 大文件上傳源代碼,B/S大附件上傳,支持斷點續傳,VUE處理文件流實現上傳下載,VUE 上傳大型文件插件(VUE上傳視頻插件)
之前在網上也搜索過相關的資料,在論壇里面也與網絡交流過,但是給出的方案都不太令人滿意。一方面論壇里面的網頁都沒有真實的項目經驗。幾乎大部分的網頁都是在紙上談兵,很多問題完全是憑想象在回答。也不能夠提供真實案例,基本上都沒有項目的實戰經驗。
甚至有些學生也在里面不知道從哪里復制的一些代碼然后粘貼在上面。
后端PHP5,PHP6,PHP7,PHP8,ThinkPHP,
服務器支持Linux,Windows,macOS,CentOS,中標麒麟,銀河麒麟,統信,龍芯,華為鯤鵬,
數據庫支持MySQL,達夢數據庫,人大金倉
需要提供前端源碼,后端源碼,控件源碼
需要提供7*24小時技術支持,長期技術支持,長期維護服務
需要提供手機,QQ,微信,企業微信,電子郵箱等聯系方式
需要支持包含IE在內的全部瀏覽器
終端需要支持Windows,macOS,Linux,信創國產化環境,中標麒麟,銀河麒麟,統信UOS,龍芯,華為
功能需要支持10G,50G,100G大文件上傳和斷點續傳,刷新續傳,重啟續傳
文件夾包含1W,10W,100W個文件和層級結構
支持超大文件分片,分段,分塊,分割上傳下載,斷點續傳
支持文件夾上傳,下載斷點續傳,支持文件夾層級結構,層級結構信息保存到數據庫,下載的時候同樣保留層級結構
支持加密上傳,下載加密,端到端加密,國密SM4加密算法,數據加密傳輸,傳輸過程中要保證數據是加密的。1.下載示例
https://gitee.com/xproer/up6-vue-cli
將up6組件復制到項目中
示例中已經包含此目錄
1.引入up6組件
2.配置接口地址
接口地址分別對應:文件初始化,文件數據上傳,文件進度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表
參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de
3.處理事件
啟動測試
啟動成功
效果
數據庫
源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra
源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl
OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a
控件源碼下載:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
*請認真填寫需求信息,我們會在24小時內與您取得聯系。