zoukankan      html  css  js  c++  java
  • springboot发送邮件

    springboot发送邮件

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

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

    1. 引入依赖

    依赖: Java Mail Sender

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

    2. 配置文件

    简易配置:

    spring:
        mail:
            # 邮件服务地址
            host: smtp.qq.com
            # qq邮箱
            username: *****@qq.com
            # 授权码(注意! 不是邮箱密码)
            password: arpaxwwaeoqvtbceb # 经加密处理
            # other
            properties:
              mail:
                # 是否开启SSL(QQ邮箱请开启)
                smtp:
                  ssl:
                    enable: true
    

    完整配置:

    spring:
      mail:
        # 邮件服务地址
        host: smtp.qq.com
        # 邮件服务端口
        port: 465
        # 编码格式
        default-encoding: UTF-8
        # qq邮箱
        username: ****@qq.com
        # 授权码(注意! 不是邮箱密码)
        password: arpaxwwaeoqvtbceb # 经加密处理
        # 协议
        protocol: smtp
        # other
        properties:
          mail:
            # 是否开启SSL(QQ邮箱请开启)
            smtp:
              ssl:
                enable: true
              required: true
            # 邮件接收时间限制(毫秒)
            timeout: 10000
            # 连接时间显示
            connectiontimeout: 10000
            # 邮件发送时间的限制,单位毫秒
            writetimeout: 10000
    

    3. 编写代码

    3.1 简单的邮件

    @Resource
    private JavaMailSenderImpl javaMailSender;
    
    @Test
    void contextLoads() {
        SimpleMailMessage message = new SimpleMailMessage(); // 创建消息对象
        message.setSubject("标题"); // 标题
        message.setText("正文"); // 只支持文本, 不支持html
        message.setTo("****@qq.com"); // 收件人
        message.setFrom("****@qq.com"); // 发件人
        javaMailSender.send(message); // 发送
    }
    

    3.2 复杂的邮件

    @Test
    void testMail() throws MessagingException {
        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        helper.setSubject("标题"); // 标题
        // 内容, 第二个参数为true则以html方式发送, 否则以普通文本发送
        helper.setText("<h1 style='red'>内容</h1>", true);
        //发送附件
        helper.addAttachment("1.jpg",new File("C:\Users\zpk\Desktop\loading\加载-063.gif"));
        helper.addAttachment("2.jpg",new File("C:\Users\zpk\Desktop\loading\加载-067.gif"));
        helper.setTo("****@qq.com"); // 收件人
        helper.setFrom("****@qq.com"); // 发件人
        javaMailSender.send(message); // 发送
    }
    
  • 相关阅读:
    关于拉格朗日乘子法和KKT条件
    深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
    安全模式下运行Windows installer并卸载程序
    win10 进入安全模式的方法
    支持向量机通俗导论(理解SVM的三层境界)
    Windows系统防火墙用法
    浏览器起始页被篡改恶意跳转解决方法
    网络熟知端口号
    SSL/TLS协议运行机制的概述
    分布式拒绝服务攻击 DDoS
  • 原文地址:https://www.cnblogs.com/zpKang/p/13274055.html
Copyright © 2011-2022 走看看