在利用Apache Commons Email发送一封简单的文本邮件时,抛出了如下错误信息:
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.163.com:25 at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1421) at org.apache.commons.mail.Email.send(Email.java:1448) at com.bug315.SimpleEmailTest.main(SimpleEmailTest.java:34) Caused by: javax.mail.AuthenticationFailedException: 535 Error: authentication failed at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826) at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685) at javax.mail.Service.connect(Service.java:317) at javax.mail.Service.connect(Service.java:176) at javax.mail.Service.connect(Service.java:125) at javax.mail.Transport.send0(Transport.java:194) at javax.mail.Transport.send(Transport.java:124) at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1411) ... 2 more
从上面的错误信息可以得出,是因为授权问题造成不能正常连接到smtp服务器。错误原因分为以下几种:
1、邮箱没有开启SMTP/POP3/IMAP服务
如果是这个原因,你只需要登录邮箱将SMTP服务开启即可。网易邮箱开启SMTP服务的过程如下:
2、邮件SMTP服务器填写错误
不同的邮箱拥有不同的SMTP服务器。如:qq为smtp.qq.com;网易为smtp.163.com。下面是常见邮箱的SMTP服务器:
sina.com
POP3服务器:pop3.sina.com.cn
SMTP服务器:smtp.sina.com.cn
163.net
POP3服务器:pop.163.net
SMTP服务器:smtp.163.net
163.com
POP3服务器:pop.163.com
SMTP服务器:smtp.163.com
qq.com
POP3服务器:pop.qq.com
SMTP服务器:smtp.qq.com
56.com
POP3服务器:pop3.56.com
SMTP服务器:smtp.56.com
gmail.com
POP3服务器:pop.gmail.com
SMTP服务器:smtp.gmail.com
sina.cn
POP3服务器:pop3.vip.sina.com
SMTP服务器:smtp.vip.sina.com
vip.163.com
POP3服务器:pop.vip.163.com
SMTP服务器:smtp.vip.163.com
126.com
POP3服务器:pop3.126.com
SMTP服务器:smtp.126.com
sohu.com
POP3服务器:pop3.sohu.com
SMTP服务器:smtp.sohu.com
vip.sohu.com
POP3服务器:pop3.vip.sohu.com
SMTP服务器:smtp.vip.sohu.com
sohu.net
POP3服务器:pop3.sohu.net
SMTP服务器:smtp.sohu.net
alibaba.com
POP3服务器:pop.alibaba.com
SMTP服务器:smtp.alibaba.com
3、邮箱登录/授权密码书写错误
这种方式最好解决,你仔细对照密码或重置邮箱密码等。