2017-09-11 7 views
0

を「A1 NOログインに失敗しました」取得:Using JavaMail to connect to IMAP getting "A1 NO LOGIN failed" exceptionのJavaMailは、この質問は、次の質問に関連している例外

私はJavaMailの1.6.0を使用して、同じ問題を取得するので、私は上記のスレッドにつまずきました。 IMAPを使用してExchangeメールボックスに接続しようとしています。 Thunderbirdは完全に接続しているので、これはJavaMailに関連する他の問題の原因だと思います。

@Bill Shannon:ExchangeサーバーでSSLサポートが無効になっているため、STARTTLSを使用している点を除いて、上記で強調したすべてのことを行っています(ThunderbirdもSTARTTLSを使用して正しく接続します)。

この件に関するお手伝いがあれば幸いです。ここで

INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG: setDebug: JavaMail version 1.6.0 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle] 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mail.imap.fetchsize: 16384 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mail.imap.ignorebodystructuresize: false 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mail.imap.statuscachetimeout: 1000 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mail.imap.appendbuffersize: -1 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mail.imap.minidletime: 10 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: enable STARTTLS 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: closeFoldersOnStoreFailure 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: trying to connect to host "mail.diversepower.com", port 143, isSSL false 
INFO | jvm 1 | 2017/09/07 20:59:02 | * OK The Microsoft Exchange IMAP4 service is ready. 
INFO | jvm 1 | 2017/09/07 20:59:02 | A0 CAPABILITY 
INFO | jvm 1 | 2017/09/07 20:59:02 | * CAPABILITY IMAP4 IMAP4rev1 LOGINDISABLED STARTTLS UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+ 
INFO | jvm 1 | 2017/09/07 20:59:02 | A0 OK CAPABILITY completed. 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: protocolConnect login, host=mail.abc.com, [email protected], password=<non-null> 
INFO | jvm 1 | 2017/09/07 20:59:02 | A1 STARTTLS 
INFO | jvm 1 | 2017/09/07 20:59:02 | A1 OK Begin TLS negotiation now. 
INFO | jvm 1 | 2017/09/07 20:59:02 | A2 CAPABILITY 
INFO | jvm 1 | 2017/09/07 20:59:02 | * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+ 
INFO | jvm 1 | 2017/09/07 20:59:02 | A2 OK CAPABILITY completed. 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: AUTH: PLAIN 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mechanism PLAIN disabled by property: mail.imap.auth.plain.disable 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mechanism LOGIN not supported by server 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mechanism NTLM not supported by server 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mechanism XOAUTH2 disabled by property: mail.imap.auth.xoauth2.disable 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: LOGIN command trace suppressed 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: LOGIN command result: A3 NO LOGIN failed. 
+0

'mail.debug.auth'プロパティをtrueに設定すると、認証交換の詳細を取得できます(ただし、ここには投稿しません)。それは何がうまくいかないのかについてより多くの情報を提供するかもしれない。それ以外に、正しいユーザー名(正しい形式)と正しいパスワードを使用していることを確認してください(https://javaee.github.io/javamail/FAQ#Exchange-login)。 –

+0

これは正しいユーザー名ですか? @Bill Shannonのユーザー名形式のリンクを参照してください。 – Max

答えて

-1

で何が起こっているか、を伝えるあなたのログの一部です:

INFO | jvm 1 | 2017/09/07 20:59:02 | * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+ 
INFO | jvm 1 | 2017/09/07 20:59:02 | A2 OK CAPABILITY completed. 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: AUTH: PLAIN 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mechanism PLAIN disabled by property: mail.imap.auth.plain.disable 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mechanism LOGIN not supported by server 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mechanism NTLM not supported by server 
INFO | jvm 1 | 2017/09/07 20:59:02 | DEBUG IMAP: mechanism XOAUTH2 disabled by property: mail.imap.auth.xoauth2.disable 

サーバーが認証を行うことが可能な方法について説明します。

  • PLAIN両面でサポートされていますが、使用はあなたの側に非アクティブ化されるためのJavaMailの、:サーバーがサポートしているかの理由がある場合はそれを使用しない場合、クライアントは、独自のメカニズムとチェックを通過しますセッションプロパティはmail.imap.auth.plain.disableためのJA、
  • NTLM
  • XOAUTH2がサーバによってサポートされておらず、使用はあなたの側に非アクティブ化され、サーバーによってサポートされていないサーバーでサポートされていませんtrue
  • LOGINに設定しますvaMailセッションプロパティmail.imap.auth.xoauth2.disabletrue

に設定されているため、認証に失敗します。

解決策は、セッションプロパティでmail.imap.auth.plain.disableの設定を削除することです(またはfalseに設定する)。

+0

STARTTLSの後、LOGINDISABLED機能が削除されたため、サーバーはログインを有効にします(AUTH = LOGINは無効です)。 – Max

+0

@Maxサーバから報告された利用可能な認証メカニズムは、私の答えで引用したログブロックの3行目にデバッグ出力されています: 'DEBUG IMAP:AUTH:PLAIN'です。あなたが提案した認証機構 'LOGIN'についての言及はありません。私が見落とした場合は、元のログから対応する行を引用して、あなたの主張を証明してください。 – Lothar

+0

'AUTH = LOGIN'と' LOGIN'は同じものではありません。 SASLメカニズムである 'AUTH = LOGIN'が無効になっているのは間違いありません。基本的な 'LOGIN'は有効にする必要はなく、デフォルトで有効になっています。これは 'LOGINDISABLED'(RFC 3501§6.2.3)によって無効にすることができます。これがJavaMailがここでそれを使用しようとする理由です: 'DEBUG IMAP:LOGIN command trace suppressed'。ここではAUTH = LOGINを試行していません。 – Max

0

@Bill Shannon:ありがとうございました。心から感謝する。

あなたのご意見ありがとうございました。最後に問題を理解することができました。 PLAINを有効にする必要があり、ユーザー名は電子メールアドレスの最初の部分([email protected]のアドレスはabc)としてのみ指定する必要があります。この場合のExchange ServerはExchange Server 2013だと私は信じています。

これは、この同じ問題を抱えている人にとって役に立ちます。

関連する問題