SpringBoot发简单邮件的正确姿势

0)背景:用springboot发简单的邮件

1)代码如下

pom.xml

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

applicaton.properties

spring.mail.host=smtp.qq.com
spring.mail.username=[email protected]
spring.mail.password=你的授权码
spring.mail.default-encoding=UTF-8
spring.mail.port=587
spring.mail.properties.mail.debug=true
spring.mail.properties.mail.stmp.socketFactory.class=javax.net.ssl.SSLSocketFactory

Controller

@RestController
public class QQMailController {
	@Autowired
	private JavaMailSender javaMailSender;

	@Value("${spring.mail.username}")
	String from;

	@GetMapping("/a")
	public void a() {
		System.out.println(">>>>>>>>>>>>>" + from);
		SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
		simpleMailMessage.setTo("[email protected]");// 发给谁
		simpleMailMessage.setCc(from);//抄送给谁
		simpleMailMessage.setSubject("测试邮件的主题");// 邮件主题
		simpleMailMessage.setText("测试邮件的内容内容asdfasdfasdfasdf!!!!");// 内容
		simpleMailMessage.setFrom(from);//谁发(必须写application.properties文件里面配置的spring.mail.username)
		simpleMailMessage.setSentDate(new Date());//发送时间
		javaMailSender.send(simpleMailMessage);
	}
}

问题:不管怎么配置总会有一些花里呼哨的问题,例如:501,smtp.qq.com连接失败等等问题,而且困扰了我好几个月,百度的答案也千奇百怪的,后来用同事的电脑(win7系统,我的是win10系统),一发送就成功了,刚开始我怀疑是系统的问题,但是很快就被否决了,我突然想到了电脑的名字,我的名字是中文的,后来改成英文的了,然后重启电脑就OK了…重点就是电脑名要是英文如图(改之后的)

发布了27 篇原创文章 · 获赞 3 · 访问量 2608

猜你喜欢

转载自blog.csdn.net/qq_42426937/article/details/103822098
今日推荐