0

私は現在、特定の添付ファイルについてユーザーのメールをスキャンし、電子メール メッセージからそれらを抽出するアプリケーションを作成しています。

Javamail を使用してメールボックスに接続し、メッセージを取得してメールの内容を解析します。添付ファイルが 1 つのメッセージを取得すると、Javamail は 3 つの Bodyparts を含む MultiPart オブジェクトを提供します: プレーン テキストの電子メール メッセージ、html 電子メール メッセージ、および添付ファイル。

ただし、Google App Engine 環境内で同じコードを実行して同じ電子メール メッセージを取得すると、プレーン テキストの電子メール メッセージと HTML の電子メール メッセージの 2 つの本文部分しか得られません。添付ファイルが欠落しています。ただし、添付コンテンツは生の入力ストリームで利用できます。

これは、メッセージを取得して解析するために使用するコードの一部です。

Message[] messages = emailFolder.getMessages();
for(Message message : messages) {
    MimeMessage msg = new MimeMessage(emailSession, message.getInputStream());
    if(msg.getContent() instanceof Multipart) {
        Multipart multipart = (Multipart) msg.getContent();
        for(int i = 0; i < multipart.getCount(); i++) {
            BodyPart bodyPart = multipart.getBodyPart(i);
            System.out.println("ContentType: " + bodyPart.getContentType());
        }
    }
}

ここで何が起こっているかについてのアイデアはありますか? 前もって感謝します :-)

4

1 に答える 1

0

Google App Engine のバグのようです。

同じ電子メール サーバーから同じ電子メール メッセージを読んでいますよね?

(潜在的な) ウイルスの問題のために添付ファイルが削除/非表示になっている可能性がありますか?

JavaMail セッションのデバッグを有効にした場合、デバッグ出力には何が表示されますか?

于 2013-05-29T22:31:42.150 に答える