依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置:
### SMTP服务器
spring.mail.host=smtp.qq.com
### 账号:
spring.mail.username=66666666@qq.com
### 授权密码(非登陆邮件时的密码,系SMTP专属密码)
spring.mail.password=123456789
### 编码格式
spring.mail.default-encoding=UTF-8
### 默认true
spring.mail.properties.mail.smtp.auth=true
### 默认true
spring.mail.properties.mail.smtp.starttls=true
### 默认true
spring.mail.properties.mail.smtp.starttls.required=true
测试类:
@RestController
public class MailTest {
@Autowired
JavaMailSender javaMailSender;
// 获取发送者名称
@Value("${spring.mail.username}")
private String from;
@RequestMapping(value = "/mail/register/{id}", method = RequestMethod.GET)
public String getRedisReturnOfString(@PathVariable String id){
String str = "";
try{
str = "Register OK.";
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
// 邮件发送者
messageHelper.setFrom(from);
// 主题
messageHelper.setSubject("Test Title.");
// 接收者
messageHelper.setTo("test@icloud.com");
// 设置文本内容
messageHelper.setText("Test content. And parameter is: " + id);
// Send mail.
javaMailSender.send(mimeMessage);
} catch (Exception e){
e.printStackTrace();
}
return str;
}
}
效果:
注意事项:
SMTP选项要进入邮件里面设置。这里试了163邮件,设置之后没反应,但qq邮件设置了一下便可以。