Index: spoolmanager/src/main/java/org/apache/james/MailboxManagerPoster.java
===================================================================
--- spoolmanager/src/main/java/org/apache/james/MailboxManagerPoster.java	(Revision 961471)
+++ spoolmanager/src/main/java/org/apache/james/MailboxManagerPoster.java	(Arbeitskopie)
@@ -31,6 +31,7 @@
 import javax.mail.internet.MimeMessage;
 
 import org.apache.commons.logging.Log;
+import org.apache.james.imap.api.MailboxPath;
 import org.apache.james.imap.mailbox.Mailbox;
 import org.apache.james.imap.mailbox.MailboxConstants;
 import org.apache.james.imap.mailbox.MailboxManager;
@@ -64,7 +65,7 @@
     /**
      * @see org.apache.jsieve.mailet.Poster#post(java.lang.String, javax.mail.internet.MimeMessage)
      */
-    public void post(String url, MimeMessage mail)throws MessagingException {
+    public void post(String url, MimeMessage mail) throws MessagingException {
         final int endOfScheme = url.indexOf(':');
         if (endOfScheme < 0) {
             throw new MessagingException("Malformed URI");
@@ -110,13 +111,15 @@
                         if (destination == null || "".equals(destination)) {
                             destination = "INBOX";
                         }
-                        final String name = mailboxManager.resolve(user, destination);
+                        if (destination.startsWith(MailboxConstants.DEFAULT_DELIMITER_STRING))
+                            destination = destination.substring(1);
+                        final MailboxPath path = new MailboxPath(MailboxConstants.USER_NAMESPACE, user, destination);
                         try
                         {
-                            if ("INBOX".equalsIgnoreCase(destination) && !(mailboxManager.mailboxExists(name, session))) {
-                                mailboxManager.createMailbox(name, session);
+                            if ("INBOX".equalsIgnoreCase(destination) && !(mailboxManager.mailboxExists(path, session))) {
+                                mailboxManager.createMailbox(path, session);
                             }
-                            final Mailbox mailbox = mailboxManager.getMailbox(name, session);
+                            final Mailbox mailbox = mailboxManager.getMailbox(path, session);
                             
                             if (mailbox == null) {
                                 final String error = "Mailbox for user " + user
Index: pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java
===================================================================
--- pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java	(Revision 961471)
+++ pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java	(Arbeitskopie)
@@ -40,10 +40,12 @@
 import org.apache.james.api.dnsservice.DNSService;
 import org.apache.james.services.FakeLoader;
 import org.apache.james.api.user.UsersRepository;
+import org.apache.james.imap.api.MailboxPath;
 import org.apache.james.imap.inmemory.InMemoryMailboxManager;
 import org.apache.james.imap.inmemory.InMemoryMailboxSessionMapperFactory;
 import org.apache.james.imap.inmemory.InMemorySubscriptionManager;
 import org.apache.james.imap.mailbox.Mailbox;
+import org.apache.james.imap.mailbox.MailboxConstants;
 import org.apache.james.imap.mailbox.MailboxSession;
 import org.apache.james.imap.store.Authenticator;
 import org.apache.james.lifecycle.LifecycleUtil;
@@ -251,12 +253,12 @@
         assertEquals("Found unexpected messages", 0, list.length);
 
         m_pop3Protocol.disconnect();
-        String mailboxName = "#private.foo.INBOX";
+        MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, "foo", "INBOX");
         MailboxSession session = manager.login("foo", "bar", new SimpleLog("Test"));
-        if (manager.mailboxExists(mailboxName, session) == false) {
-            manager.createMailbox(mailboxName, session);
+        if (manager.mailboxExists(mailboxPath, session) == false) {
+            manager.createMailbox(mailboxPath, session);
         }
-        setupTestMails(session,manager.getMailbox(mailboxName, session));
+        setupTestMails(session,manager.getMailbox(mailboxPath, session));
         
         m_pop3Protocol.connect("127.0.0.1",m_pop3ListenerPort);
         m_pop3Protocol.login("foo", "bar");
@@ -267,7 +269,7 @@
         POP3MessageInfo p3i = m_pop3Protocol.listUniqueIdentifier(1);
         assertNotNull(p3i);
         
-        manager.deleteMailbox("#private.foo.INBOX", session);
+        manager.deleteMailbox(mailboxPath, session);
 
 
     }
@@ -332,15 +334,15 @@
         m_pop3Protocol.connect("127.0.0.1",m_pop3ListenerPort);
 
         m_usersRepository.addUser("foo2", "bar2");
-        
-        String mailboxName = "#private.foo2.INBOX";
+
+        MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, "foo2", "INBOX");
         MailboxSession session = manager.login("foo2", "bar2", new SimpleLog("Test"));
         
-        if (manager.mailboxExists(mailboxName, session) == false) {
-            manager.createMailbox(mailboxName, session);
+        if (manager.mailboxExists(mailboxPath, session) == false) {
+            manager.createMailbox(mailboxPath, session);
         }
         
-        setupTestMails(session,manager.getMailbox(mailboxName, session));
+        setupTestMails(session,manager.getMailbox(mailboxPath, session));
         
         m_pop3Protocol.sendCommand("retr","1");
         assertEquals(0, m_pop3Protocol.getState());
@@ -406,7 +408,7 @@
         Reader r3 = m_pop3Protocol.retrieveMessageTop(entries[0].number, 0);
         assertNotNull(r3);
         r3.close();
-        manager.deleteMailbox(mailboxName, session);
+        manager.deleteMailbox(mailboxPath, session);
     }
 
     private void setupTestMails(MailboxSession session, Mailbox mailbox) throws MessagingException {
Index: pop3server/src/main/java/org/apache/james/pop3server/core/PassCmdHandler.java
===================================================================
--- pop3server/src/main/java/org/apache/james/pop3server/core/PassCmdHandler.java	(Revision 961471)
+++ pop3server/src/main/java/org/apache/james/pop3server/core/PassCmdHandler.java	(Arbeitskopie)
@@ -25,6 +25,7 @@
 
 import javax.annotation.Resource;
 
+import org.apache.james.imap.api.MailboxPath;
 import org.apache.james.imap.mailbox.BadCredentialsException;
 import org.apache.james.imap.mailbox.Mailbox;
 import org.apache.james.imap.mailbox.MailboxConstants;
@@ -62,20 +63,13 @@
             String passArg = parameters;
             try {
                 MailboxSession mSession = mailboxManager.login(session.getUser(), passArg, session.getLogger());
-                StringBuffer sb = new StringBuffer();
-                sb.append(MailboxConstants.USER_NAMESPACE);
-                sb.append(mailboxManager.getDelimiter());
-                sb.append(session.getUser());
-                sb.append(mailboxManager.getDelimiter());
-                sb.append("INBOX");
-                ;
-                String mailboxName = sb.toString();
-
+                MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, session.getUser(), "INBOX");
+                
                 // check if mailbox exists.. if not just create it
-                if (mailboxManager.mailboxExists(mailboxName, mSession) == false) {
-                    mailboxManager.createMailbox(mailboxName, mSession);
+                if (mailboxManager.mailboxExists(mailboxPath, mSession) == false) {
+                    mailboxManager.createMailbox(mailboxPath, mSession);
                 }
-                Mailbox mailbox = mailboxManager.getMailbox(mailboxName, mSession);
+                Mailbox mailbox = mailboxManager.getMailbox(mailboxPath, mSession);
 
                 session.getState().put(POP3Session.MAILBOX_SESSION, mSession);
                 session.setUserMailbox(mailbox);
Index: mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
===================================================================
--- mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java	(Revision 961471)
+++ mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java	(Arbeitskopie)
@@ -29,6 +29,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.james.api.user.JamesUser;
 import org.apache.james.api.user.UsersRepository;
+import org.apache.james.imap.api.MailboxPath;
 import org.apache.james.imap.mailbox.Mailbox;
 import org.apache.james.imap.mailbox.MailboxConstants;
 import org.apache.james.imap.mailbox.MailboxManager;
@@ -170,7 +171,9 @@
         	
         });
         manager.startProcessingRequest(session);
-        Mailbox mailbox = manager.getMailbox(MailboxConstants.USER_NAMESPACE + manager.getDelimiter() + "INBOX", session);
+        Mailbox mailbox = manager.getMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE,
+                                            session.getUser().getUserName(), "INBOX"),
+                                            session);
         Iterator<MessageResult> results = mailbox.getMessages(MessageRange.all(), new FetchGroupImpl(FetchGroup.MINIMAL), session);
         
         while (results.hasNext()) {
