Spring 中的邮件任务

  • 邮件发送需要引入spring-boot-starter-mail
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

  • springboot 自动配置MailSenderAutoConfiguration

在 MailSender的自动配置类用 springboot 2.x版本 导入了MailSenderJndiConfiguration.class,MailSenderPropertiesConfiguration.class 两个类;其中 MailSenderJndiConfiguration 类中提供了 JavaMailSenderImpl 组件


    @Bean
    JavaMailSenderImpl mailSender(Session session) {
        JavaMailSenderImpl sender = new JavaMailSenderImpl();
        sender.setDefaultEncoding(this.properties.getDefaultEncoding().name());
        sender.setSession(session);
        return sender;
    }

  • 自动装配JavaMailSender

在测试类中自动注入装配 JavaMailSender

    @Autowired
    JavaMailSenderImpl mailSender;
  • 定义MailProperties内容,配置在application.yml
spring.mail.username=320147991@qq.com
spring.mail.password=**************
#smtp是一项邮件的服务
spring.mail.host=smtp.qq.com

其中springmailpassword 是在使用官方smtp服务时提供的第三方登录码,而并非qq密码 需要通过手机自行去验证一下

  • 测试邮件发送

邮件的发送有两种形式一种简单模式 (文字),一种是复杂模式 (可携带附件)

简单模式(以 SimpleMailMessage 发送)


        SimpleMailMessage message = new SimpleMailMessage();
        // 邮件设置
        message.setSubject("通知");  //标题
        message.setText("好好学java");     //内容
        message.setTo("nineiceberg@163.com"); //发向谁
        message.setFrom("320147991@qq.com");  源自谁
        mailSender.send(message);


复杂模式(以 MineMessage 发送)


         //1. 创建一个复杂的消息邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true)
        helper.setSubject("通知");
        helper.setFrom("320147991@qq.com");
        helper.setTo("nineiceberg@163.com");
        helper.setText("<b style='color:red'>好好学习</b>",true);

        // 上传文件
        helper.addAttachment("1111.png",new File("C:\\Users\\32014\\Pictures\\1111.png"));

        mailSender.send(mimeMessage);

        // 注意邮件发送是以mimeMessage发送的,但是mimeMessage的配置是用过 MimeMessageHelper 来配置的


posted @ 2020-03-11 16:13  九角冰山  阅读(238)  评论(0编辑  收藏  举报