From the postfix mailing list:
http://archives.neohapsis.com/archives/postfix/2006-05/0750.html
For those of you who don't know what milter is and why it's the greatest
thing since sliced bread take a look at the docs:
http://www.milter.org/milter_api/index.html
Also here is a link to a fantastic milter called mimdefang:
Mimedefang is a milter that keeps a pool of perl children around to
filter email. Since this pool is always running there is virtually no
performance hit for filtering the message unless your waiting for ldap,
spamassassin, or some other external filters that mimedefang can call.
Here is a quick example of how powerful this is:
This filter_recipient function in mimedefang:
=========================================================================
sub filter_recipient {
# set vals
my ($recipient, $sender, $ip, $hostname, $first, $helo, $rcpt_mailer,
$rcpt_host, $rcpt_addr) = @_;
# if the user is sending email to a list then check for auth
if( $sender !~ /.+\.net$/ ){
return ('REJECT', 'Sorry, sender must come from a .net domain.');
}
}
=========================================================================
Washes the $sender though a quick regex, and rejects if the sender
doesn't end with .net:
=========================================================================
220 testserver ESMTP Sendmail 8.13.6/8.13.6; Wed, 17 May 2006 13:48:20 -0800
helo fred.com
250 pleased to meet you
mail from: fred@fred.com
250 2.1.0 fred@fred.com... Sender ok
rcpt to: user@domain.net
554 5.7.1 Sorry, sender must come from a .net domain.
quit
=========================================================================
As you can see, the ability of the mail system to call an external
filter via socket during the SMTP transaction, combined with a good
milter that lets you do things in perl, pretty much results in endless
flexibility. On one mail system I manage, I have mimedefang stripping
out winmail.dat attachments and re-attaching them with mime. Now I can
get attachments from outlook users. YAY!!!
schu
---------
To unsubscribe, send email to <aklug-request@aklug.org>
with 'unsubscribe' in the message body.
Received on Wed, 17 May 2006 14:02:50 -0800
This archive was generated by hypermail 2.1.8 : Wed May 17 2006 - 14:03:14 AKDT