Stan Hoeppner:
> Wietse Venema put forth on 8/30/2010 1:29 PM:
> > Victor Duchovni:
> >> On Mon, Aug 30, 2010 at 01:06:28PM -0500, Stan Hoeppner wrote:
> >>
> >>> Is there a straightforward (i.e. relatively painless) way to check the
> >>> header from, reply-to, and message-id domains against dbl.spamhaus.org
> >>> and reject on a positive reply as with reject_r*bl_client?
> >>
> >> Not from Postfix. There is currently no support in cleanup(8)
> >> for extracting domains from headers and applying RBL checks. The
> >> Postfix SMTP server does not look at the message content.
> >
> > Some courageous person could implement this as:
> >
> > header_checks = tcp:127.0.0.1:port
> >
> > and write a Perl script that rips domain names from headers and
> > runs them through dbl lookups.
> >
> > I don't have time, but with Net::DNS this should involve no more
> > than a dozen lines of code (using the spawn(8) daemon for connection
> > management). As a stand-alone program, maybe two dozen lines.
>
> I'm really new to these particular Postfix features. What would the
> responses need to be?
The responses must be as documented in the header_checks(5) manpage.
In addition, tcp_table(5) documents an on-the-wire protocol to
signal whether a lookup completed with found/notfound/error. This
is a completely separate matter of what is sent as the content of
header_checks lookups and results.
> Will we be sending one header line at a time to the perl daemon (at
> least I assume you suggest to run it as a daemon) or does this dump the
> entire header out all at once? I.e. does the perl daemon send one
> response per header line or one response after processing the entire header?
Header lines are inspected one at a time as documented in the
header_checks(5) manpage.
> I don't have the skills to write this myself or I'd be on it in a
> heartbeat, but I'm going to see if there are any takers on spam-l.
> There are a few perl "heavy hitters" there. I just want to post clear
> and "complete" requirements up front. Is there anything else I'm
> missing? Is having some Postfix experience a necessary prerequisite for
> writing this? The few folks I'm thinking of are more qpsmtp and
> sendmail types. :(
>
> Sorry for any nubish questions. I'm out of my element here.
The manpages in question are:
header_checks(5) for the table-driven mechanism
tcp_table(5) for the table lookup mechanism.
Wietse