Javamail - Anhang speichern

Status
Nicht offen für weitere Antworten.

magic_halli

Bekanntes Mitglied
Hi,

ich lese mit Javamail ein IMAP-Konto unseres Mailservers aus. Das klappt soweit erstmal:
Code:
public static void getMail(){
		String imapHost = "10.0.0.1";
		String username = "User1";
		String password = "geheim";

		try{
			//Get system properties
			Properties props = System.getProperties();
			//Mail-Server properties: Session verlangt die Informationen über Host, User, Passwd etc.
			props.put("mail.imap.host", imapHost);
			props.put("mail.imap.auth", "true");

			//Initialisierung der Auth-Klasse zur Mail-Account-Authentisierung; in Session benutzt
			MailAuthenticator auth = new MailAuthenticator(username, password);
			
			//Session: steht für die Verbindung mit dem Mail-Server		
			Session session = Session.getDefaultInstance(props, auth);
			//Gibt in der Console Debug-Meldungen zum Verlauf aus
			session.setDebug(false);
			
			//Store: dient dem zum Ablegen der Nachrichten
			Store store = session.getStore("imap");
			store.connect();
			
			//Folder: ist ein Ordner-Object für Mails
			Folder folder = store.getFolder("INBOX");
			folder.open(Folder.READ_ONLY);
			
			Message message[] = folder.getMessages();
			
			for(int i=0;i<message.length;i++){
				Message m = message[i];
				
				System.out.println( "-----------------------\nNachricht: " + i );
				System.out.println( "Von: " + Arrays.toString(m.getFrom()) );
				System.out.println( "Betreff: " + m.getSubject() );
				System.out.println( "Gesendet am: " + m.getSentDate() );
				System.out.println( "ContentType: " + new ContentType(m.getContentType()) );
				System.out.println( "Content: " + m.getContent() );
				
				//Nachricht ist eine einfache Text- bzw. HTML-Nachricht
				if( m.isMimeType("text/plain") ){
					System.out.println( m.getContent() );
				}
				
				//Nachricht ist eine Multipart-Nachricht (besteht aus mehreren Teilen)
				if( m.isMimeType("multipart/*") ){
					Multipart mp = (Multipart) m.getContent();
					
					for( int j=0;j<mp.getCount();j++ ){
						Part part = mp.getBodyPart(j);
						String disposition = part.getDisposition();
						
						if( disposition == null ){
							MimeBodyPart mimePart = (MimeBodyPart) part;
							
							if( mimePart.isMimeType("text/plain") ){
								BufferedReader in = new BufferedReader( new InputStreamReader(mimePart.getInputStream()) );
								
								for( String line; (line=in.readLine()) != null; ){
									System.out.println( line );
								}
							}
						}
					}
				}//if Multipart
				
			}
			
			folder.close( false );
			store.close();
			
		}catch(Exception err){
			System.out.println(err);
		}
	}
Ich möchte aber gern noch eventuelle Mailanhänge in einem gewissen Verzeichnis speichern. Dazu habe ich ne Menge gegoogelt, aber nichts passendes gefunden!
Wie kann ich auf einen Anhang einer ausgelesenen Mail erstmal irgendwie zugreifen und diesen dann speichern?

Danke und Gruß
 
Hey magic Hali hast du es geschaft wenn ja könntest du mal deinen Code veröffetnlichen bin auch daran und habe das selbe problem ....!!!!
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben