Spring boot 發(fā)送郵件
Spring提供了非常好用的JavaMailSender接口實現(xiàn)郵件發(fā)送。在Spring Boot的Starter模塊中也為此提供了自動化配置荡灾。下面通過實例看看如何在Spring Boot中使用JavaMailSender發(fā)送郵件
在pom.xml中導(dǎo)入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
在application.properties中配置相應(yīng)的內(nèi)容
# 設(shè)置郵箱主機
spring.mail.host=smtp.163.cn
# 設(shè)置用戶名
spring.mail.username=xxx@163.com
# 設(shè)置密碼
spring.mail.password=****
# 設(shè)置是否需要認(rèn)證渊胸,如果為true,那么用戶名和密碼就必須的,
spring.mail.properties.mail.smtp.auth=true
編碼測試
@Service
public class SendMailService {
@Autowired
private JavaMailSender mailSender;
/**
* 發(fā)送郵件
* @param mailTo 接受者郵箱
* @param mailFrom 發(fā)送者郵箱
* @param subject 郵件主題
* @param text 郵件內(nèi)容
*/
public void sendMail(String mailTo, String mailFrom, String subject, String text) {
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
// 發(fā)送者
helper.setFrom(mailFrom);
// 接收者
helper.setTo(mailTo);
// 郵件主題
helper.setSubject(subject);
// 郵件內(nèi)容,true表示識別html
helper.setText(text, true);
// 發(fā)送郵件
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
System.out.println("郵件已發(fā)送");
}
}