this patch still avoids reporting a perm error until all servers have been
tried UNLESS a partial send occurs in which case the error is processed as
previously
Index: RemoteDelivery.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-james/src/java/org/apache/james/transport/mailets/RemoteDelivery.java,v
retrieving revision 1.49
diff -u -w -r1.49 RemoteDelivery.java
--- RemoteDelivery.java 27 May 2003 03:02:22 -0000      1.49
+++ RemoteDelivery.java 5 Jun 2003 12:47:52 -0000
@@ -334,6 +334,17 @@
                                       .append(outgoingMailServer);
                     log(logMessageBuffer.toString());
                     return true;
+                } catch (SendFailedException sfe) {
+                    if (sfe.getValidSentAddresses() == null 
+                            || sfe.getValidSentAddresses().length < 1) {
+                        if (isDebug) log("Send failed, continuing with any other 
servers") ; 
+                        lastError = sfe;
+                        continue;                    
+                    } else { 
+                        // If any mail was sent then the outgoing 
+                        // server config must be ok, therefore rethrow
+                        throw sfe; 
+                    } 
                 } catch (MessagingException me) {
                     //MessagingException are horribly difficult to figure out what 
actually happened.
                     StringBuffer exceptionBuffer =
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to