首页 > 编程语言 > springboot实现发送邮件(QQ邮箱为例)
2020
10-08

springboot实现发送邮件(QQ邮箱为例)

本文实例为大家分享了springboot实现发送邮件的具体代码,供大家参考,具体内容如下

1.引入依赖

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

2.找到qq邮箱,开启smtp服务,这里生成你的密码,复制第三步用

3.password里输入你获取到的密码(重点:这里一定不能错)

spring.mail.username=1550213743@qq.com
spring.mail.password=********
spring.mail.host=smtp.qq.com
#开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true

4.EmailApplicationTests类里进行测试, contextLoads为简单的发送,仅限于文本。contextLoads2为复杂,可以发送图片,html格式

package com.xyj;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

@SpringBootTest
class EmailApplicationTests {

  @Autowired
  JavaMailSenderImpl mailSender;

  @Test
  void contextLoads() {
    SimpleMailMessage mailMessage = new SimpleMailMessage();
    mailMessage.setSubject("你好");
    mailMessage.setText("123456");
    mailMessage.setTo("1550213743@qq.com");
    mailMessage.setFrom("1550213743@qq.com");
    mailSender.send(mailMessage);
  }


  @Test
  void contextLoads2() throws MessagingException {
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);

    helper.setSubject("你好");
    helper.setText("<p style='color:red'>这是红色的</p>",true);
    helper.addAttachment("bg.jpg",new File("D:\\money\\网页\\疫情\\images\\bg1.jpg"));
    helper.setTo("1550213743@qq.com");
    helper.setFrom("1550213743@qq.com");
    mailSender.send(mimeMessage);
  }

}

5.分别对应的结果


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

编程技巧