classpathx-javamail
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Classpathx-javamail] clueless newbie -- how to open mbox?


From: Chris Burdess
Subject: Re: [Classpathx-javamail] clueless newbie -- how to open mbox?
Date: Wed, 2 May 2007 14:11:25 +0100

Matej Cepl wrote:

Hi, can somebody help me with this:

address@hidden mdir2mbox]$ cat -b Mdir2mbox.java
     1  import java.util.*;
     2  import javax.mail.*;

     3  public class Mdir2mbox {
     4          public static void main(String[] args) throws \
     MessagingException {
     5                  String urlStr = "/home/matej/.eclipse\
/workspace/Mdir2mbox/examples/test";
     6                  Properties properties = new Properties();
7 Session session = Session.getInstance (properties); 8 URLName mboxURL = new URLName ("mbox://"+urlStr);
     9                  Store store = session.getStore(mboxURL);
    10                  Folder folder = store.getDefaultFolder();
    11                  if(!folder.exists())
    12                          folder.create(Folder.HOLDS_MESSAGES);
    13          folder.open(Folder.READ_WRITE);
    14                  System.out.println(folder.getMessageCount());
    15          }

    16  }
address@hidden mdir2mbox]$ ls -lh examples/test
-rw-r--r-- 1 matej matej 22K kvÄ›  1 01:02 examples/test
address@hidden mdir2mbox]$ java Mdir2mbox
Exception in thread "main" java.lang.NullPointerException
   at Mdir2mbox.main(Mdir2mbox.java:12)

The mbox provider is not really designed to work like that: you initialise it with a URL to a directory, and call getFolder to get individual mailboxes.

I don't really understand how you can have an NPE at line 12 if you don't have one at line 11, but still.

Try it with something like

Store store = session.getStore(new URLName("mbox:///home/ matej/.eclipse/workspace/Mdir2mbox/examples/"));
        Folder test = store.getFolder("test");
        test.open(Folder.READ_WRITE);

If you think the current behaviour is wrong, let me know how you think it should work and I'll see what I can do about it.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]