私は現在、特定の添付ファイルについてユーザーのメールをスキャンし、電子メール メッセージからそれらを抽出するアプリケーションを作成しています。
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());
}
}
}
ここで何が起こっているかについてのアイデアはありますか? 前もって感謝します :-)