一:前言
Spring Email 抽象的核心是 MailSender 接口,MailSender 的实现能够把 Email 发送给邮件服务器,由邮件服务器实现邮件发送的功能。
二:导入jar包
三:application.properties进行配置
spring.mail.host=smtp.qq.com
spring.mail.username=*****@qq.com 发送人邮箱
spring.mail.password=密钥
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.port=465
spring.mail.properties.mail.smtp.socketFactory.port = 465
spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.fallback = false
四:密钥的获取 (qq邮箱为例)
设置》账户》
五:创建EmailUtil工具类
使用时通过注入的方式调用即可
源码如下:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import javax.mail.internet.MimeMessage;
@Component
public class EmailUtil {
private static final String From = "******@qq.com";
@Autowired
private JavaMailSender mailSender; //框架自带的
//意思是异步调用这个方法
public void sendMail(String title, String content, String email) {
try{
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(From); // 发送人的邮箱
helper.setSubject(title); //标题
helper.setTo(email); //发给谁 对方邮箱
helper.setText(content,true); //内容,true支持html内容,false支持纯文本内容
mailSender.send(message); //发送
}catch(Exception e){
e.printStackTrace();
}
}
}