Springboot发送邮件
1、controller
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/mail")
@RestController
public class mailController {
@Autowired
private JavaMailSender javamailSender;
@RequestMapping("/send")
public void send() {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("xxxxx@163.com");
message.setTo("xxxxxx@qq.com");
message.setText("6666666666666");
try {
javamailSender.send(message);
System.out.println("发送成功");
} catch (Exception e) {
e.printStackTrace();
System.out.println("发送失败");
}
}
}
当然也可以把send函数改为如下(如果想要发送附件,最好采用如下方式):
@RequestMapping("/send")
public void send() {
try {
MimeMessage mimeMessage = javamailSender.createMimeMessage();
MimeMessageHelper messageHelper = null;
messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
messageHelper.setFrom("XXXXXXX@163.com");
messageHelper.setTo("XXXXXXXX@qq.com");
messageHelper.setText("测试");
javamailSender.send(mimeMessage);
System.out.println("发送成功");
} catch (Exception e) {
System.out.println("发送失败");
e.printStackTrace();
}
}
2、配置文件
spring.mail.host=smtp.163.com
spring.mail.username=xxxxxxx@163.com
#这个password不是密码,是客户端授权密码,具体可以百度163邮箱客户端授权密码
spring.mail.password=xxxxxxxxxx
spring.mail.default-encoding=UTF-8
server.port=3000
3、启动
输入http://localhost:3000/mail/send 去邮箱查看就可以看到发送成功了