Spring boot 发送邮件
Spring提供了非常好用的JavaMailSender接口实现邮件发送。在Spring Boot的Starter模块中也为此提供了自动化配置。下面通过实例看看如何在Spring Boot中使用JavaMailSender发送邮件
在pom.xml中导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
在application.properties中配置相应的内容
# 设置邮箱主机
spring.mail.host=smtp.163.cn
# 设置用户名
spring.mail.username=xxx@163.com
# 设置密码
spring.mail.password=****
# 设置是否需要认证,如果为true,那么用户名和密码就必须的,
spring.mail.properties.mail.smtp.auth=true
编码测试
@Service
public class SendMailService {
@Autowired
private JavaMailSender mailSender;
/**
* 发送邮件
* @param mailTo 接受者邮箱
* @param mailFrom 发送者邮箱
* @param subject 邮件主题
* @param text 邮件内容
*/
public void sendMail(String mailTo, String mailFrom, String subject, String text) {
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
// 发送者
helper.setFrom(mailFrom);
// 接收者
helper.setTo(mailTo);
// 邮件主题
helper.setSubject(subject);
// 邮件内容,true表示识别html
helper.setText(text, true);
// 发送邮件
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
System.out.println("邮件已发送");
}
}
网友评论