1. 程式人生 > 程式設計 >SpringBoot實現傳送郵件任務

SpringBoot實現傳送郵件任務

本文例項為大家分享了SpringBoot實現傳送郵件任務的具體程式碼,供大家參考,具體內容如下

1.pom中引入spring-boot-starter-mail

<dependencies>
    <!--郵件-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <!--web-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
</dependencies>

2.假如 張三@qq.com 給 李四@163.com 傳送郵件,張三首先要登入自己的郵箱,所以先要配置傳送者的賬號密碼,伺服器地址。

注意:第三方登入郵箱的時候,使用的不是郵箱的原本密碼,使用的是臨時授權碼。

以QQ郵箱為例子,開啟郵箱!

點選賬戶

SpringBoot實現傳送郵件任務

往下拉,全部開啟,生成授權碼!

SpringBoot實現傳送郵件任務

全部開啟。點選生成授權碼!

3.配置application.properties

##發件人郵箱
[email protected]
##生成的授權碼
spring.mail.password=lojwzgpnrpzmifgg
##QQ的SMIP地址
spring.mail.host=smtp.qq.com
##配置安全連線
spring.mail.properties.mail.smtp.ssl.enable=true

4.在測試類中測試

SpringBoot實現傳送郵件任務

package com.zyb.task;
 
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.junit4.SpringRunner;
 
import javax.mail.internet.MimeMessage;
import java.io.File;
 
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootTaskApplicationTests {
  //注入郵件傳送器
  @Autowired
  JavaMailSenderImpl javaMailSender;
 
  /**
   * 簡單郵件測試
   */
  @Test
  public void contextLoads1() {
    SimpleMailMessage message = new SimpleMailMessage();
    message.setText("今晚7點鐘開會");
    message.setSubject("通知-開會");
    //傳送者郵箱
    message.setFrom("[email protected]");
    //傳送到哪個郵箱
    message.setTo("[email protected]");
    javaMailSender.send(message);
  }
 
  /**
   * 複雜郵件測試
   */
  @Test
  public void contextLoads2() throws Exception{
    //1.建立一個複雜的訊息郵件
    MimeMessage mimeMessage = javaMailSender.createMimeMessage();
    //第二個引數 是否需要上傳附件
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
    //郵件設定
    //這裡可以使用html標籤樣式
    helper.setText("<b style='color:red'>今晚7點鐘開會",true);
    helper.setSubject("通知-開會");
    //傳送者郵箱
    helper.setFrom("[email protected]");
    //傳送到哪個郵箱
    helper.setTo("[email protected]");
    //上傳附件 附件名,路徑
    helper.addAttachment("1.jpg",new File("C:\\Users\\Administrator\\Desktop\\img\\iphone桌布\\1.jpg"));
    javaMailSender.send(mimeMessage);
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。