Message.getContent() liefert falsche Werte

japp

Mitglied
Hi,

hab n Prog zum Abrufen und Sortieren von E-Mails, aber da ist ein kleines Problem aufgetaucht.

Code:
        // ...
        Properties p = System.getProperties();
        p.put("mail.pop3.disabletop", "true");
        Session session = Session.getDefaultInstance(p);
        Store store = session.getStore("pop3");
        store.connect(host, user, password);
        Folder folder = store.getFolder("INBOX");
        folder.open(Folder.READ_ONLY);

        Message message[] = folder.getMessages();

        if (message.length == 0){
            folder.close( false );
            store.close();
            return null;
        }

        for (int i = 0; i < message.length; i++) {
            Multipart mp = (Multipart) message[i].getContent();
            // ...
        }

Ich habe 2 Accounts bei aol.de.
Wenn ich mir bei meinem ersten message[i].getContent() ausgeben lasse, bekomme ich etwa folgende Liste:
javax.mail.internet.MimeMultipart@17ce4e7
javax.mail.internet.MimeMultipart@a4e2e3
javax.mail.internet.MimeMultipart@12bb7e0
...

diese objects lassen sich ohne probleme in Multiparts casten, und das Programm läuft.

Wenn ich jetzt den Account samt Passwort ändere, bekomm ich statt dessen den Inhalt der Mail ausgegeben, dieser lässt sich natürlich nicht casten und es kommt zur Exception
java.lang.ClassCastException: java.lang.String cannot be cast to javax.mail.Multipart

Habt ihr eine Ahnung, woran das liegen könnte?
Die beiden ersten Mails auf den Accounts sind übrigens identisch.

MfG Japp
 
mh... Ich glaube, ich hab die Quelle des Fehlers gefunden.
Es scheint so, als würde unterschieden werden zwischen Mails, die ich automatisch per java, oder manuell sende...
Der Fehler kommt nur, wenn die Mails über eins meiner Programme versendet wurden...
 
Zurück