Spring Boot:邮件任务

邮件发送,在我们的日常开发中,也非常的多,Springboot 也帮我们做了支持

  • 邮件发送需要引入spring-boot-start-mail
  • SpringBoot 自动配置 MailSenderAutoConfiguration
  • 定义MailProperties 内容,配置在 application.yml 中
  • 自动装配 JavaMailSender
  • 测试邮件发送

新建Spring Boot项目测试:

1、pom中引入依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2、点进源码看下配置类
在这里插入图片描述
3、properties中配置如下;获取授权码: 在QQ邮箱中的设置->账户->开启pop3和smtp服务

# 邮件任务
spring.mail.username=你的QQ邮箱
# 你自己的授权码
spring.mail.password=zxxxxoowdjabg
# 163和新浪后面分别改为 163.com xinlang.com
spring.mail.host=smtp.qq.com
# 开启加密验证(QQ特有)
spring.mail.properties.mail.smtp.ssl.enable=true

4、测试(controller)

@Autowired
JavaMailSenderImpl mailSender;

@Test
void mailTest1() {
    //邮件设置1:一个简单的邮件
    SimpleMailMessage message = new SimpleMailMessage();
    message.setSubject("这是邮件的主题!");
    message.setText("这是邮件的内容");

    //发给谁
    message.setTo("lingstudyzlf@qq.com");
    //谁发的
    message.setFrom("lingstudyzlf@qq.com");
    mailSender.send(message);//发送
}

@Test
void mailTest2() throws MessagingException {
    //邮件设置2:一个复杂的邮件
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    //组装      true:开启多文本上传
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

    //正文
    helper.setSubject("这是邮件的主题!");
    helper.setText("<p style='color:red'>这是文字内容...</p>",true);//true:开启html支持

    //添加附件
    helper.addAttachment("ntx.jpg",new File("C:\\Users\\lingStudy\\Desktop\\ntx.jpg"));

    //发给谁
    helper.setTo("lingstudyzlf@qq.com");
    //谁发的
    helper.setFrom("lingstudyzlf@qq.com");
    mailSender.send(mimeMessage);//发送
}


/**
     * 
     * @param html :是否开启多文本上传
     * @param subject :邮件标题
     * @param text :邮件内容
     * @throws MessagingException
     * @Author 编程之外
     */
//封装成一个方法(以后作为一个工具类直接使用)
public void sengMail(Boolean html,String subject,String text) throws MessagingException {
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    //组装   true:开启多文本上传
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, html);

    //正文
    helper.setSubject(subject);
    helper.setText(text,true);//true:开启html支持

    //添加附件
    helper.addAttachment("ntx.jpg",new File("C:\\Users\\lingStudy\\Desktop\\ntx.jpg"));

    //发给谁
    helper.setTo("lingstudyzlf@qq.com");
    //谁发的
    helper.setFrom("lingstudyzlf@qq.com");
    mailSender.send(mimeMessage);//发送
}

5、运行测试
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值