• 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 来配置的
    
    
    
  • 相关阅读:
    MySQL分库分表环境下全局ID生成方案
    机器码和字节码
    Java程序编译和运行的过程
    hive大数据倾斜总结
    图解MapReduceMapReduce整体流程图
    Java中的5种同步辅助类
    Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式
    RocketMQ与Kafka对比(18项差异)评价版
    ENode 2.0
    SecureCrt的操持连接办法
  • 原文地址:https://www.cnblogs.com/nineberg/p/12458620.html
Copyright © 2020-2023  润新知