2012-03-30 19 views
0

IMAPサーバからのメールを読むためにspring統合からorg.springframework.integration.mail.ImapMailReceiverを使用しています。ユーザ名に「@」文字が含まれていると、javax.mail.URLNameはユーザ名とパスワードを解析できません

他の多くのIMAPサーバーと同様に、私が接続しているIMAPサーバーはユーザー名として電子メールアドレスを使用しています。

だから私はこのよう

新しいImapMailReceiver(ImapMailReceiverの新しいインスタンスを作成しています「IMAP://[email protected][email protected]:143/INBOX」 ); URL文字列は2が含まれているので

私はImapMailReceiverがプロトコルに与えられた文字列を解析したURLNameクラスを使用して信じて

、ユーザーおよびその他

「@」文字、たURLNameクラスが混乱していると、ユーザー名を解析するために失敗し、パスワード。

誰も以前に同様の問題があったのですか?この問題をどうやって解決しましたか?

コメントは任意です。

ありがとうございました。

答えて

2

ユーザー名の「@」はURLエンコードする必要があります。個別のユーザー名、パスワードなどのパラメータを取るURLNameコンストラクタを使用すると、それが実行されます。あなたが手書きで書いているのであれば、それを正しく書いて、特殊文字を適切にエンコードする必要があります。

0

私は、それは

はうまく機能し、私は IMAPS

`imapMailReceiver = new ImapMailReceiver("imaps://" + URLEncoder.encode(USERNAME, "UTF-8") + ":" + PASSWORD + "@imap.gmail.com:993/INBOX");` 

ありませんを使用する理由のGmailからメールを取得しようとしました

関連する問題