I asked John, who is the author of the RFC his opinion. Here is his
response.

> -----Original Message-----
> From: John C Klensin [SMTP:[EMAIL PROTECTED]]
> Sent: Wednesday, December 05, 2001 8:43 PM
> To:   Schwartz, Jim
> Subject:      Re: RFC2821
> 
> The answer, unfortunately, is "yes".  There is actually a third
> way to do this, which is to accept the traffic and then return
> an error message to the return-path (the MAIL FROM field of the
> incoming message), with a MAIL FROM on the outgoing message set
> to null (i.e., MAIL FROM:<>)
> 
> Now, if you want a personal opinion based on a certain amount of
> experience, I'd say that one should avoid your second option
> (accepting DATA and then generating a 554 (or something else).
> If you are trying to  do relay-blocking, you have as much
> information at RCPT time as you do after you've spent your
> resources absorbing the nonsense and there is no point in
> wasting those resources.  By contrast, if you reject all
> addresses at RCPT time, the sender is forbidden to even send a
> DATA command (that prohibition is violated sometimes, but that
> is that point at which a sensible server implementor might go
> outside the standard a bit and close the connection).
> 
> More generally, the argument for making the decision at RCPT
> time and rejecting then is that you want to use up as few of
> your resources as possible and, in principle, that does it.
> 
> Conversely, that is the argument for sending the error
> information back as a mail message: experience with real
> spammers indicates that they often take _any_ non-success
> response code to RCPT as "try again later" so that, rather than
> minimizing the use of resources, you inflict a DoS attack on
> yourself.   On the other hand, a good deal of spam contains
> return-path arguments that are bogus (note 1) and you don't want
> to be retrying for days.  I don't know that anyone has actually
> done it, but it would seem to me that a good resource-conserving
> algorithm would be to:
> 
> (1) Notice, at RCPT time, that the address was improper
> 
> (2) Make at least a superficial determination as to whether, if
> you sent an error message by email, it would get delivered.
> E.g., this would be a good time to check for the validity of the
> domain in the MAIL FROM.
> 
> (3) If the determination in (2) fails, either return a 5yz code
> or just discard the message (others might disagree, but I would
> contend that, if you can positively determine that you could not
> deliver a mailed error message, even after retries, etc., you
> are under no obligation to actually carry out the process).
> 
> (4) Otherwise, generating a mail message might actually be a
> better idea.
> 
> Good luck.
> 
>       john
> 
> Note 1:  *Warning* you need to be a bit careful about those
> emailed error messages.  A few years ago, a popular spammer
> trick was to send non-relay messages to an invalid address at a
> site, putting a valid address of someone they wanted to reach in
> the MAIL FROM field.    This resulted in the victim getting mail
> from an innocent bystander, even if that intermediate site had
> good relay-blocking in place.
> 
> 
> 
> --On Wednesday, December 05, 2001 5:32 PM -0500 "Schwartz, Jim"
> <[EMAIL PROTECTED]> wrote:
> 
> > John,
> > 
> > Some mail related mailing lists recently had a discussion
> > relating to this RFC.
> > 
> > The heart of the matter comes from where the proper place is
> > to test for relaying unwanted mail.
> > During the SMTP session the client initiates the session as
> > below
> > 
> > S: 220 foo.com Simple Mail Transfer Service Ready
> >       C: EHLO bar.com
> >       S: 250-foo.com greets bar.com
> >       C: MAIL FROM:<[EMAIL PROTECTED]>
> >       S: 250 OK
> >       C: RCPT TO:<[EMAIL PROTECTED]>
> >       S: 250 OK
> > 
> > Now in the above scenario, foo.com should not accept mail for
> > somedomain.com. The question arises is at what point is it
> > compliant to send an error back to the client that this server
> > does not relay for somedomain.com.
> > 
> > One side feels that at the end of the RCPT TO: command, the
> > server should send back a 550 or 553 error code.
> > 
> > Others are of the opinion that as rejecting at the Data
> > command line with a 554 code is as compliant.
> > 
> > Would it be possible for you to clarify this for us?
> > 
> > Thank you.
> > 
> 

_________________________________________________________________
List posting FAQ:       http://www.swinc.com/resource/exch_faq.htm
Archives:               http://www.swynk.com/sitesearch/search.asp
To unsubscribe:         mailto:[EMAIL PROTECTED]
Exchange List admin:    [EMAIL PROTECTED]

Reply via email to