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 "Noel J. Bergman" <no...@devtech.com> on 2002/09/27 01:12:14 UTC

[PATCH] RemoteDelivery - fix so that 5xx errors are permanent, not temporary

This fixes RemoteDelivery so that an exception code of 5xx is treated as a
permanent exception, instead of a temporary exception, as called for by the
various RFCs.

	--- Noel

             //We should do a better job checking this... if the failure is
a general
             //connect exception, this is less descriptive than more
specific SMTP command
             //failure... have to lookup and see what are the various
Exception
-            //possibilities
+            //possibilities (see RFC 821 appendix E and 2821 4.2.1)

             //Unable to deliver message after numerous tries... fail
accordingly
-            return failMessage(mail, ex, false);
+            return failMessage(mail, ex, ('5' == ex.getMessage().charAt(0))
? true : false);

Anyone who wants to be more sophisticated is welcome to enhance this, but at
least this patch stops treating various permanent errors (e.g., 554) as
temporary.

	--- Noel