原创 | Springboot发邮件,你还不会来打我
- 2020 年 1 月 14 日
- 笔记
大家好,我是润森。期末化学已挂,谁来烧纸,挂得又有动力学习了?
Python发邮件
Python发邮件是个小儿科,只需要使用 smtplib和email
smtplib是用来发送邮件用的,email是用来构建邮件内容的。
具体博客链接:https://maoli.blog.csdn.net/article/details/89857715
小儿科的东西就不一一论述了
Java发邮件
菜鸟教程迎接有具体教程,
https://www.runoob.com/java/java-sending-email.html
去maven
搜javax.mail

创建maven工程,就搞定
<!-- https://mvnrepository.com/artifact/cn.howardliu/gear-email --> <dependency> <groupId>cn.howardliu</groupId> <artifactId>gear-email</artifactId> <version>1.0.1-RELEASE</version> </dependency>
搜了下Email竟然高达600多jar包,可见Java
得强大

其中使用Springboot
发邮件,广泛运用
使用Springboot发邮件
Spring 提供了JavaMailSender 接口帮我们来实现邮件的发送。在SpringBoot 更是提供了邮件的发送的 starter 依赖来简化邮件发送代码的开发 。
开通SMTP服务
需要拿到授权码

创建SpringBoot项目
创建SpringBoot项目,只需要引用Web模块即可
在项目的pom.xml文件中引用spring-boot-starter-mail
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
application.properties
项目配置
[email protected] spring.mail.password=授权码 spring.mail.host=smtp.qq.com spring.mail.properties.mail.smtp.ssl.enable=true
TaskApplicationTests.java测试类
只需要wiredJavaMailSenderImpl进行@Auto标注就ok
import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.SimpleMailMessage; @SpringBootTest class TaskApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test void contextLoads() { SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); simpleMailMessage.setSubject("通知-润森有空写书"); simpleMailMessage.setText("今晚7:30写下博客"); simpleMailMessage.setTo("[email protected] "); simpleMailMessage.setFrom("[email protected]"); mailSender.send(simpleMailMessage); } }
运行测试,这样我的QQ邮箱[email protected]发送邮件到我的126邮箱[email protected]

成功接收
上传文件
发个消息有什么意思呢?我万一要发个文件怎么办?

文件
其实创建一个复杂的消息邮件mailSender
,mailSender
是Java内置的jar包,通过addAttachment
方法简单解决
@Test public void test02() throws Exception { //1、创建一个复杂的消息邮件 MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); //邮件设置 helper.setSubject("通知-润森交下书最近的情况"); helper.setText("<b style='color:red'>其实我啥都没写</b>", true); helper.setTo("[email protected] "); helper.setFrom("[email protected]"); //上传文件 helper.addAttachment("第二章.md", new File("C:\Users\YIUYE\Desktop\数据之道\Python数据分析\第二章.md")); mailSender.send(mimeMessage); }
成功接受

结语
SpringBoot中集成邮件服务记录,小白成长中,望不吝赐教
再自我介绍一下吧。我叫润森,是一个的学习者,分享自己的所学所得。