我花了4天的时间解决这个bug,其中花费的有效时间是6个半时间,超级郁闷呀!!!现在把结果贴出来,希望能帮助同行少走弯路。
1 刚开始遇到connect timeout,即连接超时,我花了3个半小时解决这个问题。
开始时以为是代码哪儿写的不对,反复更改代码,最后改到自己都乱掉了。最后静下心了,仔细查错误,connet timeout应该有两种可能1)邮件服务器的地址没写对 2)防火墙拦截
核对这两点都没有问题,怎么办呢?最后重新启动邮件服务器,发现这个机器和局域网中另一台机子重名,于是停掉一个,问题解决。这样一下午过去了。
2 javax.mail.AuthenticationFailedException,而且后面没有任何的提示信息
网上查了好多资料,都说是用户名和密码不对,帐号我都验证了N多次了,根本没有问题。那怎么办呢??
广开思路 1)有没有启动邮件服务器的Imap协议 2)邮件服务器存在重复机器名(这个好像是解决第一个问题的,但没有办法,也尝试) 3)新建立一个帐号,然后重启邮件服务器 4)邮件服务器改用Ip连接 5)最无助的办法,修改代码。。。
最后最后把邮件信息都debug出来,才发现原来使用的协议是pop3,天呢,原来是这个错误。(这些我们都配置在文件,配好了都没有改过,不知谁把Imap改成了pop3了)
最后提示下,如果是用户名或密码不对,错误信息应该如下:
javax.mail.AuthenticationFailedException: Unknown user or incorrect password
而我的错误提示信息是:
javax.mail.AuthenticationFailedException