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
. Die Methode gibt immer false zurück, egal ob neue Mails da sind oder nicht. Ebenso ist es mit
. 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]
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
Java:
hasNewMessages()
Java:
getNewMessageCount()
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]