Hallo zusammen,
ich würde gerne mit der JavaMail API Emails als .msg Dateien abspeichern.
Mit folgendem Code werden die Mails auch ohne Fehler gespeichert, allerdings kann ich sie dann nicht mehr per Doppelklick öffnen.
//create a session
Properties oProps = new Properties();
Session oSession = Session.getInstance(oProps, null);
Store oStore = oSession.getStore("imap");
oStore.connect(Host, User, PW);
//navigate to mail backup folder
Folder oFolder = oStore.getFolder(strFolder);
//open mail folder
oFolder.open(Folder.READ_WRITE);
//save all messages in array
Message [] oMessages = oFolder.getMessages();
for (int i = 0; i < oMessages.length; i++)
{
try{
//save mail as .msg
FileOutputStream fos = new FileOutputStream("C:\\_Tests" + File.separator + oMessages[i].getSubject() + ".msg");
BufferedOutputStream bos = new BufferedOutputStream(fos);
BufferedInputStream bis = new BufferedInputStream(oMessages[i].getInputStream());
int aByte;
while ((aByte = bis.read()) != -1)
{
bos.write(aByte);
}
fos.close();
bos.close();
bis.close();
} catch(Exception err) {
System.out.println(err);
}
}
//close the connection
oFolder.close(true);
Also wie gesagt: Abspeichern läuft, aber Öffnen ist dann nicht mehr drin.
Da bekomm ich dann immer eine Fehlermeldung von wegen Datei wäre nicht vorhanden (ist sie aber), Datei würde von einem anderen Program genutzt (wird sie nicht) oder meine Berechtigungen für diese Datei würden nicht reichen (ich bin Admin an dem Rechner hier).
Kann jemand mit meinem Problem was anfangen und mir eventuell sogar noch helfen?
Danke schon mal und noch nen schönen Tag
Gruß
Moe