Index: src/java/org/apache/james/transport/JamesSpoolManager.java
===================================================================
RCS file: /home/cvspublic/jakarta-james/src/java/org/apache/james/transport/JamesSpoolManager.java,v
retrieving revision 1.32
diff -u -r1.32 JamesSpoolManager.java
--- src/java/org/apache/james/transport/JamesSpoolManager.java	28 Apr 2003 14:00:40 -0000	1.32
+++ src/java/org/apache/james/transport/JamesSpoolManager.java	17 Jun 2003 11:49:04 -0000
@@ -89,8 +89,8 @@
  * processor, and removing them from the spool when processing is
  * complete.
  *
- *
- * @version This is $Revision: 1.32 $
+ * <P>CVS $Id$</P>
+ * @version 2.2.0
  */
 public class JamesSpoolManager
     extends AbstractLogEnabled
@@ -383,6 +383,7 @@
                             .append(mail.getName());
                     String exceptionMessage = exceptionMessageBuffer.toString();
                     getLogger().debug(exceptionMessage);
+                    mail.setState(Mail.ERROR);
                     throw new MailetException(exceptionMessage);
                 }
                 StringBuffer logMessageBuffer = null;
@@ -417,8 +418,11 @@
                     mail.setState(Mail.GHOST);
                     mail.setErrorMessage(e.getMessage());
                 } else {
-                    //We got an error... send it to the error processor
-                    mail.setState(Mail.ERROR);
+                    //We got an error... send it to the requested processor
+                    if (!(e instanceof MessagingException)) {
+                        //We got an error... send it to the error processor
+                        mail.setState(Mail.ERROR);
+                    }
                     mail.setErrorMessage(e.getMessage());
                 }
             }
