SpringBoot发送邮箱
程序员文章站
2022-07-08 11:12:38
...
SpringBoot发送邮箱
前言
发送邮件应该是网站的必备拓展功能之一,注册验证,忘记密码或者是给用户发送营销信息。现在springboot提供了一套更简易使用的封装。
pom.xml引入依赖
<!--spingBoot整合邮件发送-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
在resource下的配置文件加入如下配置
本项目使用qq邮箱发送邮件
spring:
mail:
host: smtp.qq.com # 设置邮箱主机
username: aaa@qq.com #设置用户名
password: ypcebdbglueabfhd #设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码
授权码怎么获取
具体要登录QQ邮箱,点击设置,找到SMTP服务:
在项目中具体使用
创建MailService
public interface MailService {
void sendSimpleMail(String mailTo, String activationCode) throws Exception;
}
创建MailServiceImpl
/**
* 邮件发送接口的实现
* @author hduser
*
*/
@Service("mailService")
@Slf4j
public class MailServiceImpl implements MailService {
@Value("${lance.mail.sender}") // 获取yml中的配置
private String MAIL_SENDER; //邮件发送者
@Autowired
private JavaMailSender javaMailSender;
public void sendSimpleMail(String mailTo, String activationCode) {
try {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
//邮件发送人
simpleMailMessage.setFrom(MAIL_SENDER);
//邮件接收人
simpleMailMessage.setTo(mailTo);
//邮件主题
simpleMailMessage.setSubject("爱旅行【邮件】");
//邮件内容
simpleMailMessage.setText(activationCode);
javaMailSender.send(simpleMailMessage);
// 缓存**码
DataCacheUtil.map.put(mailTo, activationCode);
log.debug(DataCacheUtil.map.toString());
} catch (Exception e) {
log.error("邮件发送失败", e.getMessage());
}
}
}
下一篇: 迪士尼:推出VR软件让你不出家门也能逛