james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Noel J. Bergman" <n...@devtech.com>
Subject RE: cvs commit: jakarta-james/src/java/org/apache/james James.java
Date Sun, 29 Sep 2002 02:41:15 GMT
RecipientIsLocal calls MailetContext.isLocalUser, which is documented to say
"Returns whether that account has a local inbox on this server."  So by the
time LocalDelivery is called, as I understand it from Serge, the pipeline
should have verified that everything is good to go.  I repeat that I don't
really have a problem with bulletproofing the code in case of a bad config.

I do think that LocalDelivery and RemoteDelivery bouncing can be more
common, including the option of allowing either to use a processor for
errors, or internal default.  I agree with waiting for v3.

Ok, now for our area of disagreement ...

The situation is this:

  1. There is a LocalUser entry for USER
  2. Mail comes in for USER
  3. The local user repository entry for USER has either the ALIAS or
FORWARD *flag* turned on.
  4. The appropriate ALIAS or FORWARD *address* is null.


The question is whether to:

  (a) bounce the e-mail as an error
      which SMTP code?  x50?  Temporary or permanent?  450 or 550?
      we don't actually provide an error in the SMTP handler, but
      I don't think that that the point is entirely moot

  (b) generate a warning for the postmaster (log and/or e-mail)
      store e-mail in the USER mailbox

Option (b) represents a best attempt to deliver the message on the server
side, whereas option  (a) passes the error back to the client.  AIUI, (a)
also requires that the pipeline be properly configured to bounce messages,
which is not necessarily the case.

> Honestly, this is a contract that should be enforced by the User object.

Agreed.  And a database trigger, if that option is available.  It is a data
integrity error.  I could argue that the flag should be discarded in favor
of [null | valid-address] to prevent the possibility of an integrity error.
NOT now.  Revisit for v3.

	--- Noel

To unsubscribe, e-mail:   <mailto:james-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:james-dev-help@jakarta.apache.org>

View raw message