1

メールの解析に問題が少ないことを期待して、Javamail から mime4j に移行しようとしています。ただし、メールサーバーに接続してから mime4j を使用してメッセージを解析する方法を見つけることができませんでした。

Javamail は、IMAP または POP3 を介してメール サーバーへのセッションと接続を提供し、そこからメッセージを読み取ります。私の知る限り、mime4j は同等のものを提供していません。

では、mime4j を使用するためにメール サーバーに接続するにはどうすればよいでしょうか。Javamail を mime4j と組み合わせて使用​​できますか?

javamailMessage.getInputStreamメソッドを使用して、mime4j に渡す入力ストリームを取得しようとしましたDefaultMessageBuilder.parseMessage。ただし、結果は期待したものではありません。プレーン テキスト部分と html 部分を含むマルチパート メッセージの場合、TextBody が 1 つだけ作成されます。DefaultMessageBuilder.parseMessageこれは、 が本文だけでなく、メッセージ全体のストリームを期待しているためだと思われますが、javamailMessage.getInputStreamは本文のみを提供します。

実際、私が興味を持っているのは本文だけです。なぜなら、これが Javamail で問題を引き起こしていたからですが、(Javamail からの入力ストリームとしてそれを取得できれば) メッセージ全体を解析することも同様にうまくいくでしょう。

どんな助けでも大歓迎です!

4

1 に答える 1

0

POP3 を使用している場合、メッセージの解析はすべて JavaMail のクライアント側で行われます。解析エラーの処理方法を構成するために JavaMail で設定できる多くのプロパティを確認しましたか?

IMAP を使用している場合、ほとんどの解析はサーバーによって行われます。JavaMail でまだどのような解析エラーが発生していますか? 電子メール メッセージの内容の解析の問題ですか、それとも IMAP プロトコル メッセージの解析の問題ですか?

発生している問題の詳細をお知らせいただければ、JavaMail が機能するように構成するお手伝いができるかもしれません。

本当に別の MIME メッセージ パーサーを使用したい場合は、Message.writeTo メソッドを使用してメッセージの MIME コンテンツ全体を取得する必要があります。これを他のライブラリに渡して解析することができます。

于 2014-05-02T19:22:59.877 に答える