> It's a very fine technical issue.
> 
> A message may have multiple recipients.
> 
> A reply to a DATA cannot indicate that some recipients have accepted the 
> message, some permanently rejected it, and other temporarily rejected it.  
> 
> All the semantics of smtpfilter are due to the need to tapdance around this 
> issue.
> 
> A single recipient forcing a temporary 4xx reply means that a single 
> recipient can effectively delay mail from getting delivered to any other 
> recipient of the same message, even if their filters do not object to it.
> 
> Although the same concept equally applies to 5xx replies, it's mitigated by 
> the devil's compromise of the individual recipients opting in to filtering 
> via the rcptfilter mechanism first.  See section 8 of 
> http://www.courier-mta.org/draft-varshavchik-exdata-smtpext.txt for more 
> info.

Ummm... yeah, I see the point.  The situation which would be bad is
one in which:

-  A message is being sent to two or more recipients at a given
   site (say, "Ann" and "Bill").

-  Neither Ann nor Bill has whitelisted the sender.  Hence, both
   are requesting smtpfilter processing.

-  The RCPT TO phase results in Ann's address being accepted, and
   Bill's address being declined with a "not whitelisted" status.

-  If Ann's smtpfilter accepts the mail, *or* rejects it with a
   permanent error, Ann's copy is now "out of the way".  On its
   next delivery attempt, Bill's copy will be delivered, filtered,
   and rejected.

-  If Ann's smtpfilter returns a temporary error, then the sending
   system still has both addresses in its delivery list.  On its
   next delivery attempt, the sending system is likely to present
   Ann and Bill's addresses in the same order, and the whole scenario
   repeats.  Neither copy gets delivered.

This wouldn't be an issue with MTAs such as qmail, which handle every
message/recipient via a separate distinct connection.  It'd probably bite
quite a few others more often than not.

So, I guess, it boils down to that while the SMTP protocol spec does not
actually forbid sending a temporary error, and although a temporary error
is quite acceptable when it's a true server-side problem (e.g. totally
out of disk space), returning a temporary error from an smtpfilter is
not a good idea in practice.



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
courier-users mailing list
[email protected]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to