# Fragen/Probleme mit JavaMail



## Guest (5. Jul 2005)

Guten Abend,


```
public void getMails() throws Exception{
		Properties props = new Properties();
		props.put("pop3.web.de",host);
		Session session = Session.getDefaultInstance(props,null);
		session.setDebug(true);
		Store store = session.getStore("pop3");
		store.connect(host,user,pass);
		Folder folder = store.getFolder("INBOX");
		folder.open(Folder.READ_ONLY);
		Message[] message = folder.getMessages();
		for(int i = 0, n = message.length; i < n; i++){
			System.out.println(i+" "+message[i].getFrom()[0]+"  "+
								     message[i].getSubject());
			System.out.println(message[i].getContent().toString());
		}
```

Mit diesem Code rufe ich die Mails ab, jedoch habe ich damit ein Problem. Gelegentlich bekomme ich solche ausgaben

*From: =?utf-8?q?Rudolph Rowrclo?= <communicatebra@icagen.com>*

*Subject: =?utf-8?q?Any medicine at 0.82?=
 =?utf-8?q?$ per portion?=*

Dann wieder normale und dann wieder nur Müll, kann mir einer den Grund sagen ?

Dann noch etwas :

Mit message_.getContent() kann ich mit ja den Inhalt einer Mail ausgeben lassen,  aber wie verarbeitet man die, es gibt ja HTML Nachrichten usw.. Wie man sieht gebe ich es bis jetzt per toString() aus, davon hab ich aber nicht sehr viel.

Zuletzt noch folgendes :
message.getFrom()[0] gibt den Absender aus, in der Form "Web.de Informiert" <neu@web.de> . Gibt es eine Methode, die mir die dinger aufteilt also ein String mit "Web.de Informiert" und ein String mit <neu@web.de>_


----------



## DP (5. Jul 2005)

> Zuletzt noch folgendes :
> message_.getFrom()[0] gibt den Absender aus, in der Form "Web.de Informiert" <neu@web.de> . Gibt es eine Methode, die mir die dinger aufteilt also ein String mit "Web.de Informiert" und ein String mit <neu@web.de>_


_



		Code:In die Zwischenablage kopieren


      Object[] to = message.getRecipients(Message.RecipientType.TO);
      
      for(int i = 0; i < to.length; i++)
      {
        InternetAddress an = (InternetAddress)to[i];
        System.out.println("EMAIL: " + an.getAddress());
        System.out.println("NAME: " + an.getPersonal());        
      }


für das andere isset mir noch zu früh, erstmal wach werden._


----------



## skatbruder (12. Jul 2005)

Hi "Gast",

das Auslesen des Mail-Inhalts ist nicht so ganz simpel, da die Mail-Bodies sehr verschieden aufgebaut sein können. Auf jeden Fall werden dir die folgenden Links weiterhelfen (falls du nicht schon selbst drüber gestolpert bist). Damit kannst du den MessageText lesen und dir die Anhänge speichern.

http://www.koders.com/java/fid8E78A02E6195C74FFBEE468D7C6D0FBFEB51F16A.aspx?s=java+mail+multipart

http://www.koders.com/java/fid467EA609F575ECAE3C212E17978C1CF471EF5DAD.aspx?s=java+mail+attachment


----------

