# JavaMail POP Zugriff zeigt nicht alle Emails



## tobi193 (27. Mrz 2010)

Hi,
ich möchte mittels JavaMail und dem POP3 Zugriff meine Emails auslesen. Das klappt mit folgendem Code schon soweit ganz gut. Allerdings zeigt er mir die etwa die hälfte der Mails an, ab dem 22.10.2008 ist plötzlich Schluss.
Ich glaube zwar zu wissen wo das Problem liegt, habe aber keine Ahnung wie ich es lösen soll: Ich vermute dass er die "Untermails" der multiple Mails mitzählt und dadurch so viele Emails fehlen, wie ich "Untermails" habe.

Desweiteren gibt es ein Problem mit 
	
	
	
	





```
hasNewMessages()
```
. Die Methode gibt immer false zurück, egal ob neue Mails da sind oder nicht. Ebenso ist es mit 
	
	
	
	





```
getNewMessageCount()
```
. Da sagt er immer 0.

So schaut die bisherige Klasse aus:
[JAVA=0]
import java.util.*;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import java.io.*;

public class GetEMails{
  private Properties props;

  public void getMail() throws Exception{
    props = new Properties();
    props.setProperty("mail.pop3.host", "pop.gmail.com");
    props.setProperty("mail.pop3.user", "MEIN EMAILADRESSE");
    props.setProperty("mail.pop3.password", "MEIN PASSWORT");
    props.setProperty("mail.pop3.port", "995");
    props.setProperty("mail.pop3.auth", "true");
    props.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    Session session = Session.getInstance(props, new Authenticator() {
          @Override protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(props.getProperty("mail.pop3.user"), props.getProperty("mail.pop3.password"));
          }
    });
    Store store = session.getStore("pop3");
    store.connect();

    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_ONLY);

    System.out.println("Mails: " + folder.getMessageCount());
    System.out.println("Ungelesen: " + folder.hasNewMessages());

    Message[] message = folder.getMessages();
    for(int i = (message.length - 1); i >= 0; i--){
        System.out.println(message_.getMessageNumber() + "  " + message.getSubject());
    }

    folder.close(false);
    store.close();
  }

  public static void main(String[] args) throws Exception{
      new GetEMails().getMail();
  }
[/code]_


----------



## tobi193 (29. Mrz 2010)

weiß denn niemand bescheid ?


----------



## FArt (30. Mrz 2010)

Multiple Mails? Untermails?
???

Hast du die API-Doku gelesen?


> getMessageCount()
> Will not change while the folder is open because the POP3 protocol doesn't support notification of new messages arriving in open folders.





> hasNewMessages()
> Always returns false; the POP3 protocol provides no way to determine when a new message arrives.



POP3Folder (JavaMail API documentation)


----------

