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

浙公网安备 33010602011771号