-1
私は電子メールをダウンロードして、emlファイルとして保存し、それぞれの添付ファイルをjavaとews managed APIを使って別々のファイルとして保存する必要があります。インターネット上でいくつかの検索をした後、私はJavaコードを書いている、それは私が欲しいことをしているようだ。しかし、私はこのアプローチでは、各添付ファイルがリモートから2回ダウンロードされると思うので、その効率について疑問を抱いています。そのコメントは正しいのですか?それがもっと効率的なやり方をするのでしょうか?添付ファイル付きメールをewsでダウンロードする
item.load(new PropertySet(ItemSchema.MimeContent,ItemSchema.Attachments));
MimeContent mc = item.getMimeContent();
try(FileOutputStream fs = new FileOutputStream("d:\\emailtmp\\"+ Utils.cleanFileName(item.getId().getUniqueId())+".eml");){
fs.write(mc.getContent());
}
AttachmentCollection attachments = item.getAttachments();
if(attachments == null)
return ;
for(Attachment a : attachments){
if (a instanceof FileAttachment){
try(FileOutputStream stream = new FileOutputStream("d:\\emailtmp\\"+Utils.cleanFileName(((FileAttachment) a).getName()));){
FileAttachment fileAttachment = (FileAttachment)a;
fileAttachment.load(stream);
}
}
}
PS:EWSマネージAPIを使用した2.0-Java8
回答ありがとうございました。私は質問はしませんでしたが、添付された電子メールとその添付ファイルは処理されません。これがコードがそれらを無視する理由です。ところで、リンクのサンプルコード(ローカル格納オブジェクトからmimecontentを読み込むためのサンプルコード)を投稿できますか? – cacert
あなたが快適なMimeライブラリを探して、あなたの言語で作業してください。例えば、http://stackoverflow.com/questions/19541792/how-to-parse-raw-mime-content-in-java –
あなたはメールをダウンロードすることを意味しますEWSとjavaメールでコンテンツを解析する私はEWS APIのソリューションを探していました。 – cacert