Spring 框架使用QQ邮箱发送邮件

本来想实现一个很简单的发送邮件的功能,但是,在我使用qq邮箱之后就遇到了很多的问题,一会是认证失败,一会又是超时,最后还返回了501服务器拒绝操作,这里简单的做一下总结:


@Component("sendemail")
public class SendEmail {

	private JavaMailSenderImpl email;
	
	private SimpleMailMessage message;
	
	public SendEmail() {
		// TODO Auto-generated constructor stub
		email = new JavaMailSenderImpl();
		email.setHost("smtp.qq.com");
		email.setUsername("xxxxxx@qq.com");
		email.setPassword("xxxxxxx");//授权码
		email.setPort(465);
		Properties properties = new Properties();
		properties.put("mail.smtp.auth", true);
		properties.put("mail.smtp.ssl.enable", true);
		properties.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
		properties.put("mail.smtp.timeout", 25000);
		email.setJavaMailProperties(properties);
	}
	
	//发送邮件
	public void send(){
		message = new SimpleMailMessage();
		message.setFrom("xxxxxx@qq.com");
		message.setTo("xxxxxx@gmail.com");
		message.setSubject("WOW 邮箱激活");
		message.setText("test");
		email.send(message);
	}
}


注意上面的那个password其实是你申请的qq邮箱的授权码(这个你可以去qq邮箱->账户->申请得到)

然后我们的端口不是25,而是465。

这样的话第一个认证的问题就解决了。

然后设置一些属性,就是上面的属性的部分,这里就是代表使用加密的方式连接。这样的话timeout基本就解决了~

然后就是在发送邮件的时候一定要记得写setfrom(你的qq邮箱)不然还是会报501错误的~

参考:https://segmentfault.com/q/1010000004284204

          http://zhidao.baidu.com/link?             url=FaXyhIMPjKh4JPebyY61IcsFxFKgQMuCzQbR3VzynqCYoJXMJ9rO06_ra3nRUjc9KC78m_9Uvd0owg8kX4n8HK

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值