最近、oracle-javamailを介して電子メールからCSVをダウンロードするときに問題が発生しました。最初のファイルは(メインフレームサーバーから)正常に機能することがわかりましたが、2番目のcsv添付ファイルは、他のファイルと同じように明らかに.csvファイルである場合、「application/vnd.ms-excel」として表示されます。完全に正常にダウンロードします。
両方で同じコードを使用していますが、この問題に関する情報が見つかりません。
そのメールを自分宛てに送信すれば、問題なく添付ファイルを魔法のようにダウンロードできます。どんな助けでもいただければ幸いです。これが機能するようになると、別の毎日のタスクが自動化されます!
if(content instanceof java.lang.String){
//emailBody = (String)content;
} else if(content instanceof Multipart){
System.out.println("is Multipart");
Multipart mp = (Multipart)content;
for (int j=0; j < mp.getCount(); j++) {
Part part = mp.getBodyPart(j);
String disposition = part.getDisposition();
if (disposition == null) {
// Check if plain
MimeBodyPart mbp = (MimeBodyPart)part;
if (mbp.isMimeType("text/plain")) {
//emailBody += (String)mbp.getContent();
} else {
// Special non-attachment cases here of
// image/gif, text/html, ...
String fileName = decodeName(part.getFileName());
File savedir = new File(path+"\\"+fileName);
saveFile(savedir, part);
}
} else if ((disposition != null) &&
(disposition.equals(Part.ATTACHMENT) || disposition.equals(Part.INLINE))){
// Check if plain
MimeBodyPart mbp = (MimeBodyPart)part;
if (mbp.isMimeType("text/plain")) {
System.out.println("has disp of plain");
//emailBody += (String)mbp.getContent();
} else {
System.out.println("has disp of else");
String fileName = decodeName(part.getFileName());
File savedir = new File(path+"\\"+fileName);
saveFile(savedir, part);
}
}
}
}
else{
System.out.println(message.getContentType());
}