Len Budney writes:
> Sam <[EMAIL PROTECTED]> wrote:
> > 1) Because in order to do that, you have to receive the message
> > first...
>
> This part is not true. You only need to receive the _header_, and can
> still return the appropriate rejection code after your check. This
Nope. You cannot receive just the header, send an SMTP rejection, then
expect the sender to stop sending you the rest of the message, unless you
drop the socket as well. But, when you do that, the sender is likely to
get a broken socket error, which gets interpreted as a transient error,
resulting in the same message being rescheduled for another delivery
attempt later on.
> Furthermore, according to Russ's qmail homepage:
>
> Sam Varshavchik has a patch to qmail-smtpd which calls procmail
> recipes to filter spam before it is accepted for delivery.
A slightly outdated description, but that's not important.
> The above suggestion should be quicker; it performs a very specific
> check and can doubtless be implemented faster than the full power of
> procmail.
Procmail's definitely has other problems besides that, but that's not the
point. You still have to suck in the entire message.