一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

服務器之家 - 編程語言 - Java教程 - SpringBoot配置發送Email的示例代碼

SpringBoot配置發送Email的示例代碼

2020-12-05 16:40陽光早已褪色 Java教程

本篇文章主要介紹了SpringBoot配置發送Email的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了SpringBoot配置發送Email,分享給大家,具體如下:

引入依賴

在 pom.xml 文件中引入郵件配置:

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

配置文件

?
1
2
3
4
5
6
7
# JavaMailSender 郵件發送的配置
spring.mail.host=smtp.163.com
spring.mail.username=用戶163郵箱
spring.mail.password=郵箱密碼
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

注意:若使用QQ郵箱發送郵件,則需要修改為spring.mail.host=smtp.qq.com,同時spring.mail.password改為QQ郵箱的授權碼。

QQ郵箱->設置->賬戶->POP3/SMTP服務:開啟服務后會獲得QQ的授權碼

SpringBoot配置發送Email的示例代碼

但是真正運行程序時,還是會爆 535 認證失敗。

SpringBoot配置發送Email的示例代碼

解決方案:因為JDK1.8中jre\lib\security中兩個 jar 包替換的緣故。將下載后的local_policy.jar和US_export_policy.jar替換到JDK1.8的jre\lib\security文件夾即可。

地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

發送簡單文本郵件

貼 Java 代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("163")
public class EmailTest {
 
  @Autowired
  private JavaMailSender mailSender; //自動注入的Bean
 
  @Value("${spring.mail.username}")
  private String Sender; //讀取配置文件中的參數
 
  @Test
  public void sendSimpleMail() throws Exception {
    SimpleMailMessage message = new SimpleMailMessage();
    message.setFrom(Sender);
    message.setTo(Sender); //自己給自己發送郵件
    message.setSubject("主題:簡單郵件");
    message.setText("測試郵件內容");
    mailSender.send(message);
  }
}

發送Html郵件

java 代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Test
public void sendHtmlMail() {
  MimeMessage message = null;
  try {
    message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setFrom(Sender);
    helper.setTo(Sender);
    helper.setSubject("標題:發送Html內容");
 
    StringBuffer sb = new StringBuffer();
    sb.append("<h1>大標題-h1</h1>")
        .append("<p style='color:#F00'>紅色字</p>")
        .append("<p style='text-align:right'>右對齊</p>");
    helper.setText(sb.toString(), true);
  } catch (Exception e) {
    e.printStackTrace();
  }
  mailSender.send(message);
}

發送帶附件的郵件

java 代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Test
public void sendAttachmentsMail() {
  MimeMessage message = null;
  try {
    message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setFrom(Sender);
    helper.setTo(Sender);
    helper.setSubject("主題:帶附件的郵件");
    helper.setText("帶附件的郵件內容");
    //注意項目路徑問題,自動補用項目路徑
    FileSystemResource file = new FileSystemResource(new File("src/main/resources/static/image/picture.jpg"));
    //加入郵件
    helper.addAttachment("圖片.jpg", file);
  } catch (Exception e){
    e.printStackTrace();
  }
  mailSender.send(message);
}

發送帶靜態資源的郵件

java 代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Test
public void sendInlineMail() {
  MimeMessage message = null;
  try {
    message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setFrom(Sender);
    helper.setTo(Sender);
    helper.setSubject("主題:帶靜態資源的郵件");
    //第二個參數指定發送的是HTML格式,同時cid:是固定的寫法
    helper.setText("<html><body>帶靜態資源的郵件內容 圖片:<img src='cid:picture' /></body></html>", true);
 
    FileSystemResource file = new FileSystemResource(new File("src/main/resources/static/image/picture.jpg"));
    helper.addInline("picture",file);
  } catch (Exception e){
    e.printStackTrace();
  }
  mailSender.send(message);
}

發送模板郵件

在Spring Boot中也能使用模板引擎來實現模板化的郵件發送。關于模板郵件,SpringBoot 原本是支持 velocity,在 1.4 版本后又拋棄了 velocity,暫時只支持 freemaker。

引入 freemaker 依賴:

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

java 代碼:

?
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
  @Autowired
  private FreeMarkerConfigurer freeMarkerConfigurer; //自動注入
 
  @Test
  public void sendTemplateMail(){
    MimeMessage message = null;
    try {
      message = mailSender.createMimeMessage();
      MimeMessageHelper helper = new MimeMessageHelper(message, true);
      helper.setFrom(Sender);
      helper.setTo(Sender);
      helper.setSubject("主題:模板郵件");
 
      Map<String, Object> model = new HashedMap();
      model.put("username", "zggdczfr");
 
      //修改 application.properties 文件中的讀取路徑
//      FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
//      configurer.setTemplateLoaderPath("classpath:templates");
      //讀取 html 模板
      Template template = freeMarkerConfigurer.getConfiguration().getTemplate("mail.html");
      String html = FreeMarkerTemplateUtils.processTemplateIntoString(template, model);
      helper.setText(html, true);
    } catch (Exception e) {
      e.printStackTrace();
    }
    mailSender.send(message);
  }

效果截圖

SpringBoot配置發送Email的示例代碼

項目參考地址:https://github.com/FunriLy/springboot-study/tree/master/%E6%A1%88%E4%BE%8B6

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

原文鏈接:http://blog.csdn.net/u011244202/article/details/54809696

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产盗摄wc厕所撒尿视频 | 天选之王漫画顾长歌免费阅读 | 色哟哟在线播放 | 久久免费黄色 | 欧美亚洲欧美 | 99久久综合 | 成年人免费在线播放 | 女人和拘做受全过程免费 | 日日夜夜撸影院 | 91tm视频 | 四虎影视在线永久免费观看 | 国产福利在线观看91精品 | 日本ccc三级| 娇喘高潮教室h | 国产成人精品.一二区 | 色里番52kkm全彩 | 91精品久久国产青草 | 亚洲成综合人影院在院播放 | 2021日本三级理论影院 | chaopeng在线视频进入 | 欧美牛逼aa| 双性np肉文 | 国产精品亚洲片在线不卡 | 日本中文字幕二区三区 | 亚洲精品一区二区观看 | 美人的淫事[纯hh] | 午夜视频一区二区 | 亚洲男gay| 成人免费视频一区 | 极品奶妈漫画 | 1769亚洲欧美资源站 | 国产国拍亚洲精品av | 日本色频 | 亚洲天堂免费 | 视频免费观看在线播放高清 | 视频一区国产精戏刘婷30 | 美女张开大腿让男人桶 | 亚洲精品久久7777777 | 男人把大ji巴放进男人免费视频 | 日韩在线二区 | 网站久久 |