JavaMail problem przy fetch mail'i

0

Witam.

Próbuję napisać receiver'a poczty w oparciu o IMAP wykorzystując do tego JavaMail. Wszystko poszło gładko do momentu zaciągania szczegółowych informacji (Subject, From etc jest pobierane przy getMessages() - dodatkowe informację muszę zaciągnąć metodą fetch() - jeśli wszystko dobrze zrozumiałem).

Oto mój kod:

public static void main(String[] args) {
        IMAPFolder inbox;
        Properties properties = System.getProperties();
        properties.setProperty("mail.store.protocol", "imaps");

        try {
            Session session = Session.getDefaultInstance(properties, null);
            Store store = session.getStore("imaps");
            store.connect("imap.gmail.com", "******@gmail.com", "******");

            inbox = (IMAPFolder) store.getFolder("Inbox");
            System.out.println("Unread messages count: " + inbox.getUnreadMessageCount());

            inbox.open(Folder.READ_WRITE);

            Message messages[] = inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));

            FetchProfile fp = new FetchProfile();
//            fp.add(FetchProfile.Item.ENVELOPE);
            fp.add(FetchProfile.Item.CONTENT_INFO);
//            fp.add(FetchProfile.Item.FLAGS);
            System.out.println(messages[0].getSubject());

            inbox.fetch(messages, fp);



            for (Message mess : messages) {
                printMessage(mess);

            }

            inbox.close(true);
            store.close();


        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

oto błąd który dostaje:

Exception in thread "main" java.lang.NullPointerException
at javax.mail.internet.ParameterList.set(ParameterList.java:165)
at com.sun.mail.imap.protocol.BODYSTRUCTURE.parseParameters(BODYSTRUCTURE.java:392)
at com.sun.mail.imap.protocol.BODYSTRUCTURE.<init>(BODYSTRUCTURE.java:232)
at com.sun.mail.imap.protocol.BODYSTRUCTURE.<init>(BODYSTRUCTURE.java:117)
at com.sun.mail.imap.protocol.FetchResponse.parse(FetchResponse.java:159)
at com.sun.mail.imap.protocol.FetchResponse.<init>(FetchResponse.java:68)
at com.sun.mail.imap.protocol.IMAPResponse.readResponse(IMAPResponse.java:137)
at com.sun.mail.imap.protocol.IMAPProtocol.readResponse(IMAPProtocol.java:261)
at com.sun.mail.iap.Protocol.command(Protocol.java:310)
at com.sun.mail.imap.protocol.IMAPProtocol.fetch(IMAPProtocol.java:1312)
at com.sun.mail.imap.protocol.IMAPProtocol.fetch(IMAPProtocol.java:1293)
at com.sun.mail.imap.IMAPMessage.fetch(IMAPMessage.java:1045)
at com.sun.mail.imap.IMAPFolder.fetch(IMAPFolder.java:1021)
at com.springloops.ws.spike.EmailReceiveSpike.main(EmailReceiveSpike.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Ma ktoś pomysł na to co robię źle

0

Co to za dodatkowe informacje?

1 użytkowników online, w tym zalogowanych: 0, gości: 1