SpringBoot邮件发送

 前言:本人为学习阶段,哪里有不对的地方,或者哪里可以做得更好的地方,希望各位前辈大佬指正和提出建议,感谢!


 

1、邮件发送

(1)导入依赖

<!-- 邮件 javax.mail-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

(2)在application.yml文件中配置相关内容

spring:
  mail:
    username: 邮箱号
    password: 邮箱号密码
    host: smtp.qq.com #主机
    #此为QQ邮箱,需开启加密验证
    properties:
      mail:
        smtp:
          ssl:
            enable: true

邮箱密码获取步骤:1.打开QQ邮箱>>2.点击设置>>3.选择账户>>4.开启POP3/SMTP服务>>5.复制它所生成的密码到application.yml文件中

 

(3)编写测试类测试

@SpringBootTest
class MyemailApplicationTests {

    @Autowired
    JavaMailSenderImpl javaMailSender;

    @Value("${spring.mail.username}")
    public String email;//这里是取出yml配置文件中的email

    @Test
    void contextLoads() {

        //一个简单的邮件
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("你好!"); //邮件主题
        message.setText("邮件测试"); //邮件内容

        message.setFrom(email);//谁发送
        message.setTo("xxxxxx@qq.com");//发送至
        javaMailSender.send(message);
    }

    @Test
    void contextLoads2() throws MessagingException {

        //一个复杂的邮件
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        // 组装 是否支持多文件 multipart:true
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        helper.setSubject("带我打王者~");
   //可以解析HTML   helper.setText(
"<p style='color:red'>你好呀!~</p><hr><a href='https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=%E6%88%91%E6%98%AF%E4%B8%8D%E6%98%AF%E6%B2%99%E9%9B%95%3F&oq=%25E6%2588%2591%25E6%2598%25AF%25E4%25B8%258D%25E6%2598%25AF%25E6%25B2%2599%25E9%259B%2595%253F&rsv_pq=bd61ed6d000c4e8c&rsv_t=5d5cLZLrVK%2FGfRlQdX1jZUV70%2FnOG9bI6F2R3vykUtcLOwgGH587524x8pU&rqlang=cn&rsv_dl=tb&rsv_enter=0&rsv_btype=t'>你想知道我是谁吗,请点击这里~</a>",true); helper.setFrom(email); helper.setTo("xxxxxxx@qq.com");
        helper.addAttachment("1.png",new File("C:\\Users\\95201\\Desktop\\1.png"));//放入图片附件
helper.addAttachment("2.png",new File("C:\\Users\\95201\\Desktop\\2.png"));
      

        javaMailSender.send(mimeMessage);
    }

    //封装成方法

    /**
     *
     * @param html 是否支持html
     * @param subject 邮件主题
     * @param Text  邮件内容
     * @Author xxx
     */
    public void sendEmail(Boolean html,String subject,String Text){
    //可以封装成自己的工具类方法,方便调用,利用重载,可以传入多个不同参数来写出各种目的不同的方法
  } }

2020-10-14

 

posted @ 2020-10-14 13:50  头发茂盛  阅读(132)  评论(0)    收藏  举报