springboot集成email发送,来自新手村
起源
距离上一家公司已经离开了半年多了,和以前的同事也都有联系,这篇文章的缘由就是之前同事的一个问题,由于公司是通过demo进行分支开发,所以以前集成了大部分的功能,email的发送也在其中,言归正传,开始今天的理解。
pom修改
首先需要掌握一些springboot的基础知识,和maven的相关知识。
配置文件更改
由于,springboot可以使用两种配置文件,.properties/.yml 两种格式,
springboot官方建议使用.yml文件,所以我就选择了.yml文件,毕竟追求时尚嘛,代码如下,均有提示。
java代码
第一步:创建一个Bean,建议使用lombok插件,这样可以减少set,get方法等等。
第二步:创建一个email配置bean,代码如下:
@Component
public class EmailConfig {
@Value("${stmp.host}")
private String host;
@Value("${stmp.account}")
private String account;
@Value("${stmp.password}")
private String password;
@Value("${mail.smtp.auth}")
private String isAuth;
@Value("${mail.smtp.timeout}")
private String outTime;
@Bean(name = "JavaMailSenderImpl")
public JavaMailSenderImpl getMailSender() {
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
javaMailSender.setHost(host);
javaMailSender.setUsername(account);
javaMailSender.setPassword(password);
Properties properties = new Properties();
properties.put("mail.smtp.auth", isAuth);
properties.put("mail.smtp.timeout", outTime);
javaMailSender.setJavaMailProperties(properties);
return javaMailSender;
}
public void sendSimpleMail(EmailEntity email) {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setFrom(account);
String receiver = email.getReceiver();
String receivers[] = receiver.split(";");
simpleMailMessage.setTo(receivers);
simpleMailMessage.setSubject(email.getSubject());
simpleMailMessage.setText(email.getContent());
getMailSender().send(simpleMailMessage);
}
}
第三步:创建一个controller进行测试,代码如下
注意点:
1.Component 注解:用于放置容器bean对象。
2.测试时,切记,@PostMapping(),一定要使用post方式请求,建议使用postman工具,还是很好用的。
3.本人新手攻城狮,请多包涵,技术有限,理解有限,谢谢。