メールエラー:javax.mail.AuthenticationFailedException: wrong password
ここ数日、javamailで書かれたメール送信プログラムは、163、126などのメールボックスで送受信テストを行う場合でも問題ありませんが、クライアントのサーバ上のメールを送受信する場合に限って、パスワードエラーというエラー(javax.mail.A u t h e n t i c a tionFailedException:wrong password)を常に報告します.outlook expressテストで発見しましたが、全く問題ありません.受信タイムズのエラーは次のとおりです.
タイムズのエラーは次のとおりです.
なぜoutlook expressで正常に送受信できるのか、javamailではだめなのか.長い間答えが見つからず、最後に、いっそネットパッケージキャプチャプログラムをダウンロードしました:sniffer、outlook expressがどのように送信されたかを見てみましょう.
スナップして比較すると、[email protected]のようなメールのユーザー名はフルネームで使用できません.これにより、パスワードの検証エラーが発生します.ユーザーのフルネームを消した後、oaを使うと、メールが正常に送受信されます!
小さな問題で、私は3日間やって、後で似たような経験のある友达に、回り道をしないでほしいと思っています.
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 [email protected]
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がどのように送信されたかを見てみましょう.
スナップして比較すると、[email protected]のようなメールのユーザー名はフルネームで使用できません.これにより、パスワードの検証エラーが発生します.ユーザーのフルネームを消した後、oaを使うと、メールが正常に送受信されます!
小さな問題で、私は3日間やって、後で似たような経験のある友达に、回り道をしないでほしいと思っています.