emlファイルからメールをいろいろ加工するようなブツを作っているのですが、日本語が含まれるファイルの場合、問題になる事が判明。
String filePath = "/var/lib/apl/aaa/faile/日本語emlファイル.eml"; MimeMessage msg = new MimeMessage(null, new FileInputStream(filePath));
開発環境のWindowsでは特に問題ありませんでしたが、Linux環境で実行するとファイルが見つかりませんでエラーになるんですね。。
こちらの下の方を参考に、nio仕様に変えたら問題は解消しました。環境依存でしょうか、特にJVM引数は必要なかったです。
String filePath = "/var/lib/apl/aaa/faile/日本語emlファイル.eml";
Path file = Paths.get(filePath);
if(file.toFile().exists()){
MimeMessage msg = new MimeMessage(null, Files.newInputStream(file));
}
今の時代、Javaのファイル処理はnioに統一した方がよさそうですね。