私はこのドキュメントを読みました:
http://docs.oracle.com/javaee/6/api/javax/mail/internet/package-summary.html
そこで、mimeMessage にいくつかのプロパティを追加します。
Properties props = new Properties();
props.put("mail.mime.decodefilename", true);
Session mailConnection = Session.getInstance(props, null);
source = new FileInputStream(emlFile);
MimeMessage message = new MimeMessage(mailConnection, source);
今、メソッドbodyPart.getFileName()
が正しいファイル名を返すことを期待しています。しかし、この構成ではまだ機能し、mimeUtils: を呼び出す必要がありますMimeUtility.decodeText
。私も試します:
props.put("mail.mime.decodefilename", "true");
しかし、成功しませんでした。それで、私は何を間違っていますか?
アップデート:
デバッグ後、私はこの解決策を持っていました:
これは動作します
Properties props = System.getProperties();
props.put("mail.mime.decodefilename", "true");
これは機能しません:
Properties props = new Properites();
props.put("mail.mime.decodefilename", "true");
そのため、ファイル名がデコードされているかどうかは、システム プロパティにも依存します。誰がどのプロパティを知っていますか?すべてのシステム プロパティを試して、それがどれであるかを解決する必要はありません。