赞
踩
我用的是QQ邮箱,使用的是java提供的发邮件API JavaMail
完整的错误提示是Caused by: javax.mail.AuthenticationFailedException: 530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28
AuthenticationFailedException就是身份验证失败异常,说需要一个安全链接(例如ssl),后面的地址是qq邮箱的帮助中心,上网搜了一下,原来第三方客户端登录邮箱时需要用专门的授权码登录。
授权码de获取
打开QQ邮箱的设置-账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
点击开启 ,我这里已经开启了
之后就会得到一个十六位的授权码,用这个授权码替换你的登录密码
本以为问题已经解决,没想到还是报错,再去搜发现还要开启ssl加密,就是加上下面的代码,这里没搞懂这个ssl是什么,但问题是解决了,成功发送邮件。
//开启ssl加密
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable",true);
props.put("mail.smtp.ssl.socketFactory",sf);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。