springboot发送邮件

这里仅仅延时QQ,其他邮箱类似。

开启QQ邮箱设置 然后会弹出授权Key 务必保存

springboot发送邮件


导包

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

application.properties:

spring.mail.host=smtp.qq.com
spring.mail.port=587
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.auth=true
#//发送方的邮箱
[email protected]
# 密码  //对于qq邮箱而言 密码指的就是发送方的授权码
spring.mail.password=XXXX

测试代码:

    @Autowired
    private JavaMailSender javaMailSender;
    @Value("${spring.mail.username}")
    private String from;

    @Test
    public void sendSimpleMail() {
        MimeMessage message = null;
        try {
            message = javaMailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(message, true);
            helper.setFrom(from);
            helper.setTo("[email protected]");
            helper.setSubject("标题:发送Html内容");
            StringBuffer sb = new StringBuffer();
            sb.append("<h1>大标题-h1</h1>")
                    .append("<p style='color:#F00'>Hello,Wrold;</p>");
            helper.setText(sb.toString(), true);
            javaMailSender.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }