zoukankan      html  css  js  c++  java
  • 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 来配置的
    
    
    
  • 相关阅读:
    echarts图形的位置布局如何调整
    IDEA在写springboot项目的时候遇见的问题:Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/TypeResol
    【学习总结】linux命令:ps -ef | grep xxxserver | grep -v grep|wc -l
    linux中管道符“|”的作用 find的作用
    linux系统中的管道“|”命令的作用
    JDBC管理事务
    SQL注入的问题&使用PreparedStatement对象防止SQL注入
    JDBC对象详解DriverManager&Connection&Statement
    MySQL安装&使用DataGrip连接数据库
    红黑树(R-B树,对称二叉B树)
  • 原文地址:https://www.cnblogs.com/nineberg/p/12458620.html
Copyright © 2011-2022 走看看