Jay Lee writes:
On Fri, February 3, 2006 2:11 pm, Lindsay Haisley wrote:Thus spake Jay Lee on Fri, Feb 03, 2006 at 01:01:46PM CSTOn Fri, February 3, 2006 1:49 pm, Dave Platt wrote:That trick doesn't seem to work for an smtpfilter, however. If one tries to echo a 4xx temporary-failure code in an smtpfilter, Courier prefaces the whole string (including the 4xx) with a 558 code, making the error permanent rather than temporary. I'm not sure why this distinction exists in the code. It'd be nice to allow an smtpfilter to return a temporary error, too.I believe it's because that's what the SMTP RFCs require. Once the receiving server sends the OK send data acknowledgement it can't return a 4xx temp error. It must either reject the message or accept it for delivery. Yeah, it sucks but that's the way it is...AOL does it! If your IP happens to be on one of their blacklists and you try to email an AOL subscriber, you don't get an error until you've completed the data section of your email and then the AOL mail server says "421 SERVICE NOT AVAILABLE".I'm sorry... Did you really start an argument with the words "AOL does it!"!? Yes, I have reached the end of the internet... :-) Honestly, I don't know and I don't have time to dig through the RFCs right now (nor do I desire the headache I get when read RFCs...) Sam could say better why 4xx errors aren't possible with .smtpfilter.
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.
pgpwRwahaCl4k.pgp
Description: PGP signature
