2016-03-23 19 views
3

JAMES posta sunucumda bir MimeMessage gelen var. İletiyi tamamen terkeden bir eml dosyası oluşturmak istiyorum. MimeMessage'ın writeTo yöntemini kullanmayı denedim; sonuçta oluşan dosya yalnızca e-postanın metin gövdesini içerir. Ekler eml dosyasına yazılmaz. Benim kodum, Hiçbir döküntü içeriğim yok. Bunu yapmak için herhangi bir yarar var mı? Apache Mimeutils da aynı sonucu veriyor.Java MimeMessage to eml Tüm ekler ile dosya

+0

Çalışması gerekir. Hangi JavaMail sürümünü kullanıyorsunuz? –

+0

Mesaj, Mac makinelerinden geliyorsa bazı sorunlar vardır. Sadece bu mesajlar için problem görüyorum. – Kris

+0

Daha fazla ayrıntı vermeniz gerekecek. Başarısız bir iletinin örneği nedir? Bu nasıl başarısız olur? Hangi JavaMail sürümünü kullanıyorsunuz? Tam olarak MimeMessage mi yoksa bir alt sınıf mı? –

cevap

0

bu deneyin:

// Create your attachement file 
File emlFile = new File("myFile.eml"); 
emlFile.createNewFile(); 
incomingEmail.getMessage().writeTo(new FileOutputStream(emlFile)); 

MimeBodyPart attachment = new MimeBodyPart(); 

DataSource source = new FileDataSource(emlFile); 

attachment.setDataHandler(new DataHandler(source)); 
attachment.setHeader("Content-Type", "application/octet-stream"); 
attachment.setFileName("myFileName.eml"); 
attachment.setDescription("My file description"); 
attachment.setDisposition(Part.ATTACHMENT); 

multipart.addBodyPart(attachmentFile); 

Sana başlık ve kodunuzda eğilim ayarlamak için cevapsız çünkü öyle düşünüyorum.

Yardım edin,

+0

Sanırım, bu soru ile alakalı değil :-). Bir dosyaya çok parçalı içerik dökümünden bahsediyordum (yerelden uzak). Tersi var gibi görünüyor. – Kris

+0

BTW, Çok parçalı karma içerikler içeren e-postalar için gövde ağacını ayrıştırmak zorunda kaldım. – Kris