欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot发送邮箱

程序员文章站 2022-07-08 11:12:38
...

前言

发送邮件应该是网站的必备拓展功能之一,注册验证,忘记密码或者是给用户发送营销信息。现在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服务:
SpringBoot发送邮箱

在项目中具体使用

创建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());
		}
	}
}



相关标签: springBoot