一、邮箱设置
邮箱开启SMTP服务。常见的邮箱都可以
二、导入jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.1.5.RELEASE</version>
</dependency>
三、邮箱参数配置
邮箱参数配置
spring.mail.host=smtp.sina.com # 因邮箱类型而已
spring.mail.port=465
spring.mail.username= # your email
spring.mail.password= # your email password
spring.mail.protocol=smtps
spring.mail.properties.mail.smtp.ssl.enable=true
四、使用 JavaMailSender 发送邮件
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
public class MailClient {
@Autowired
private JavaMailSender mailSender;
@Value("${spring.mail.username}") // 从配置中读取发件人
private String from;
public void sendMail(String to, String subject, String content) {
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content, true);
mailSender.send(helper.getMimeMessage());
} catch (MessagingException e) {
System.out.println("发送邮件失败");
}
}
}
单元测试
public class MailTests {
private MailClient mailClient;
public void testTextMail() {
mailClient.sendMail("自己的邮箱", "邮件主题", "邮件内容");
}
}