Mails abrufen mit IMAP

mavinatic

Bekanntes Mitglied
hallo ihr java-freaks ;-)

ich bin im rahmen meines "abschlussprojekts" der Höheren Berufsfachschule für Informatik einen MailClient zu programmieren, da wollte ich wissen ob es einen unterschied in der Funktion von PoP3 bzw IMAP gibt? Ich finde im internet nur Programme wo mails mit POP3 abgerufen werden und nicht mit IMAP?! Gibts dazu unterschiede... wenn ich die Properties Daten wechsele und auf IMAP umschreibe, dann bekomme ich trotzdem einen error...

Java:
public static ArrayList<Mail> recieveMail() throws Exception 
	{
				
		if (d.getHostType() == "pop3")
		{
		props = new Properties();
		props.setProperty("mail.pop3.host" , d.getHost());
		props.setProperty("mail.pop3.user", d.getUsername());
		props.setProperty("mail.pop3.password", d.getPassword());
		}
		
		if (d.getHostType() == "imap")
		{
		props = new Properties();
		props.setProperty("mail.imap.host" , d.getHost());
		props.setProperty("mail.imap.user", d.getUsername());
		props.setProperty("mail.imap.password", d.getPassword());
		}
	
		
		Session session = Session.getInstance( props, new javax.mail.Authenticator() 
		{ 
	          @Override protected PasswordAuthentication getPasswordAuthentication() 
	          { 
	            return new PasswordAuthentication( props.getProperty( "mail.pop3.user" ),props.getProperty( "mail.pop3.password" ) ); 
	          } 
	        } 
		);
		
		session.setDebug(false);
		
		Store store = session.getStore(d.getHostType());
		store.connect();
		
		Folder inbox = store.getFolder("inbox");
		inbox.open(Folder.READ_ONLY);
		
		Message message[] = inbox.getMessages();
		
		ServerMailList = new ArrayList<Mail>(); 
		
		
		for (int i=0; i<message.length; i++)
		{
		Message m = message[i];
		me = new Mail();
		me.setSubject(m.getSubject());
		me.setFrom(((InternetAddress)m.getFrom()[0]).getAddress());
		me.setDate(m.getSentDate().toString());
		if (m.isMimeType("text/plain"))
		{
			me.setContent(m.getContent().toString());
		}
		
		ServerMailList.add(me);
		}
		
		inbox.close(false);
		store.close();
		
		return ServerMailList;
		
	}

Danke im vorraus ;)
 

FArt

Top Contributor
POP und IMAP sind völlig unterschiedliche Protokolle, die beide vom Server explizit unterstützt werden müssen.
Nur mit ändern der URL ist es da nicht getan...
 

Ähnliche Java Themen

Neue Themen


Oben