论坛首页 Java企业应用论坛

邮件错误:javax.mail.AuthenticationFailedException: wrong password

浏览 22488 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-12-22   最后修改:2009-12-22

这几天遇到一个问题,用javamail写的一个邮件发送程序,在163、126等邮箱进行收发测试时都没有问题,但偏偏用于收发客户的服务器上的邮件时,始终报密码错误这个错误(javax.mail.AuthenticationFailedException: wrong password)。用outlook express测试发现却完全没有问题。接收时报的错误如下:

DEBUG: setDebug: JavaMail version 1.3.1
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]
DEBUG POP3: connecting to host "mail.kingkey.com.cn", port 110
S: +OK POP3 on WebEasyMail [3.5.3.1] ready.  http://www.51webmail.com
C: USER oa@kingkey.com.cn
S: +OK user accepted
C: PASS oa
S: -ERR wrong password
C: QUIT
S: +OK closing connection
09:51:06,859 ERROR [STDERR] javax.mail.AuthenticationFailedException: wrong password
09:51:06,859 ERROR [STDERR] 	at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:104)
09:51:06,859 ERROR [STDERR] 	at javax.mail.Service.connect(Service.java:255)
09:51:06,859 ERROR [STDERR] 	at javax.mail.Service.connect(Service.java:134)
......

 发送时报的错误如下:

DEBUG: setDebug: JavaMail version 1.3.1
get the session successful
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "mail.kingkey.com.cn", port 25

220 ESMTP on WebEasyMail [3.5.3.1] ready.  http://www.51webmail.com
DEBUG SMTP: connected to host "mail.kingkey.com.cn", port: 25

EHLO Tom
250-SIZE
250 AUTH LOGIN
DEBUG SMTP: Found extension "AUTH", arg "LOGIN"
DEBUG SMTP: Attempt to authenticate
AUTH LOGIN
334 VXNlcm5hbWU6
b2FAa2luZ2tleS5jb20uY24=
334 UGFzc3dvcmQ6
b2E=
535 authentication failed.
10:56:59,093 ERROR [STDERR] javax.mail.AuthenticationFailedException
10:56:59,093 ERROR [STDERR] 	at javax.mail.Service.connect(Service.java:264)
10:56:59,093 ERROR [STDERR] 	at javax.mail.Service.connect(Service.java:134)
......

 

为什么用outlook express可以正常收发,而用javamail不行呢?搜了很久都搜不到答案,最后,干脆下了个网络包捕捉程序:sniffer,看看outlook express是怎么发送的。

 

捕捉后比较才发现,邮件的用户名不能用全名,如oa@kingkey.com.cn,这样会导致验证密码错误。而去掉用户全名后,如用:oa,这时邮件正常收发了!

 

一个小问题,搞了我3天,希望给以后有类似经历的朋友,少走点弯路。

   发表时间:2010-05-31  
我就遇到了这种经历,呵呵,。太感谢搂主了,搂主花了3天,我刚才也在郁闷,情况和你一样, 赞一个~!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics