背景
底层框架为spring boot
版本为 2.1.3.RELEASE
需求就是通过程序给别人发送邮件
你已经开通了一个可以发送邮件的邮箱,不会的话百度一下相关知识
技术实现
引入开箱即用的pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置文件 - YAML方式
spring:
mail:
host: smtp地址
username: 邮箱用户名
password: 认证码
撸代码
IOC注入
@Autowired
private JavaMailSender javaMailSender;
构造邮件内容
这块我要说点废话,网上很多帖子都推荐用 SimpleMailMessage 这个类做为邮件内容的载体,首先我不能说它不对,但是它是偏于demo化,如果你想写代码用这个类没毛病,不过我这篇目的是面向实际生产的。所以我推荐下面那个类
MimeMessage
构建实体类
一路set ,set必须信息
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);
//发件人
mimeMessageHelper.setFrom(from)
//邮件主题
mimeMessageHelper.setSubject(subject)
//收件人
mimeMessageHelper.setTo(to)
//抄送人
mimeMessageHelper.setCC(cc)
重要内容编写
邮件内容最重要就是在这了,邮件内容是什么,正式环境的邮件内容肯定存在格式,那么格式要通过代码什么实现呢
邮件内容基于html实现渲染,即前端画好界面提供过来就行
我们需要做的事情第一个
setText(此处的字符串是html转换过来的)
发送
javaMailSender.send(mimeMessage);