springboot集成email发送,来自新手村

起源

距离上一家公司已经离开了半年多了,和以前的同事也都有联系,这篇文章的缘由就是之前同事的一个问题,由于公司是通过demo进行分支开发,所以以前集成了大部分的功能,email的发送也在其中,言归正传,开始今天的理解。

pom修改

首先需要掌握一些springboot的基础知识,和maven的相关知识。
在这里插入图片描述

配置文件更改

由于,springboot可以使用两种配置文件,.properties/.yml 两种格式,
springboot官方建议使用.yml文件,所以我就选择了.yml文件,毕竟追求时尚嘛,代码如下,均有提示。
在这里插入图片描述

java代码

第一步:创建一个Bean,建议使用lombok插件,这样可以减少set,get方法等等。
直接输入1次#,并按下space后,将生成1级标题。输入2次#,并按下space后,将生成2级标题。以此类推,我们支持6级标题。有助于使用语法后生成一个完美的目录。
第二步:创建一个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.本人新手攻城狮,请多包涵,技术有限,理解有限,谢谢。

猜你喜欢

转载自blog.csdn.net/whl190412/article/details/84135238