You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/11/10 11:35:04 UTC

svn commit: r1033409 - /james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java

Author: norman
Date: Wed Nov 10 10:35:04 2010
New Revision: 1033409

URL: http://svn.apache.org/viewvc?rev=1033409&view=rev
Log:
We should not check the host ... thats done before on other mailets

Modified:
    james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java

Modified: james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java?rev=1033409&r1=1033408&r2=1033409&view=diff
==============================================================================
--- james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java (original)
+++ james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java Wed Nov 10 10:35:04 2010
@@ -107,59 +107,53 @@ public class SieveMailet extends SieveMa
                     final int startOfHost = endOfUser + 1;
                     final int endOfHost = url.indexOf('/', startOfHost);
                     final String host = url.substring(startOfHost, endOfHost);
-                    // if (!"localhost".equals(host)) {
-                    if (host.equals("localhost") == false) {
-                        // TODO: possible support for clustering?
-                        throw new MessagingException("Only local mailboxes are supported");
+                    final String urlPath;
+                    final int length = url.length();
+                    if (endOfHost + 1 == length) {
+                        urlPath = "INBOX";
                     } else {
-                        final String urlPath;
-                        final int length = url.length();
-                        if (endOfHost + 1 == length) {
-                            urlPath = "INBOX";
-                        } else {
-                            urlPath = url.substring(endOfHost, length);
-                        }
+                        urlPath = url.substring(endOfHost, length);
+                    }
 
-                        // check if we should use the full emailaddress as
-                        // username
-                        if (mailServer.supportVirtualHosting()) {
-                            user = user + "@" + host;
-                        }
+                    // check if we should use the full emailaddress as
+                    // username
+                    if (mailServer.supportVirtualHosting()) {
+                        user = user + "@" + host;
+                    }
 
-                        final MailboxSession session = mailboxManager.createSystemSession(user, new MailetLog());
+                    final MailboxSession session = mailboxManager.createSystemSession(user, new MailetLog());
 
-                        // start processing request
-                        mailboxManager.startProcessingRequest(session);
+                    // start processing request
+                    mailboxManager.startProcessingRequest(session);
 
-                        // This allows Sieve scripts to use a standard delimiter
-                        // regardless of mailbox implementation
-                        String destination = urlPath.replace('/', MailboxConstants.DEFAULT_DELIMITER);
+                    // This allows Sieve scripts to use a standard delimiter
+                    // regardless of mailbox implementation
+                    String destination = urlPath.replace('/', MailboxConstants.DEFAULT_DELIMITER);
 
-                        if (destination == null || "".equals(destination)) {
-                            destination = "INBOX";
+                    if (destination == null || "".equals(destination)) {
+                        destination = "INBOX";
+                    }
+                    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(path, session))) {
+                            mailboxManager.createMailbox(path, session);
                         }
-                        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(path, session))) {
-                                mailboxManager.createMailbox(path, session);
-                            }
-                            final MessageManager mailbox = mailboxManager.getMailbox(path, session);
-
-                            if (mailbox == null) {
-                                final String error = "Mailbox for user " + user + " was not found on this server.";
-                                throw new MessagingException(error);
-                            }
-
-                            mailbox.appendMessage(new MimeMessageInputStream(mail), new Date(), session, true, null);
-                        } finally {
-                            session.close();
-                            mailboxManager.logout(session, true);
-
-                            // stop processing request
-                            mailboxManager.endProcessingRequest(session);
+                        final MessageManager mailbox = mailboxManager.getMailbox(path, session);
+                        if (mailbox == null) {
+                            final String error = "Mailbox for user " + user + " was not found on this server.";
+                            throw new MessagingException(error);
                         }
+
+                        mailbox.appendMessage(new MimeMessageInputStream(mail), new Date(), session, true, null);
+                    } finally {
+                        session.close();
+                        mailboxManager.logout(session, true);
+
+                        // stop processing request
+                        mailboxManager.endProcessingRequest(session);
+                        
                     }
                 }
             } else {



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org