SpringBoot实现发送邮件任务

本文实例为大家分享了SpringBoot实现发送邮件任务的具体代码,供大家参考,具体内容如下

创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、川西大数据中心、等保安全、私有云建设等企业级互联网基础服务,来电联系:13518219792

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


    
    
      org.springframework.boot
      spring-boot-starter-mail
    
    
    
      org.springframework.boot
      spring-boot-starter-web
    
    
      org.springframework.boot
      spring-boot-starter-test
      test
    

2.假如 张三@qq.com 给 李四@163.com 发送邮件,张三首先要登录自己的邮箱,所以先要配置发送者的账号密码,服务器地址。

注意:第三方登录邮箱的时候,使用的不是邮箱的原本密码,使用的是临时授权码。

以QQ邮箱为例子,打开邮箱!

点击账户

SpringBoot实现发送邮件任务

往下拉,全部开启,生成授权码!

SpringBoot实现发送邮件任务

全部开启。点击生成授权码!

3.配置application.properties

##发件人邮箱
spring.mail.username=119848xxxx@qq.com
##生成的授权码
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("119848xxxx@qq.com");
    //发送到哪个邮箱
    message.setTo("zyb_xxx@126.com");
    javaMailSender.send(message);
  }
 
  /**
   * 复杂邮件测试
   */
  @Test
  public void contextLoads2() throws Exception{
    //1.创建一个复杂的消息邮件
    MimeMessage mimeMessage = javaMailSender.createMimeMessage();
    //第二个参数 是否需要上传附件
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
    //邮件设置
    //这里可以使用html标签样式
    helper.setText("今晚7点钟开会",true);
    helper.setSubject("通知-开会");
    //发送者邮箱
    helper.setFrom("119848xxxx@qq.com");
    //发送到哪个邮箱
    helper.setTo("zyb_xxx@126.com");
    //上传附件 附件名,路径
    helper.addAttachment("1.jpg",new File("C:\\Users\\Administrator\\Desktop\\img\\iphone壁纸\\1.jpg"));
    javaMailSender.send(mimeMessage);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


当前标题:SpringBoot实现发送邮件任务
网页URL:http://hbruida.cn/article/jshgoj.html