nightmorph 11/06/19 09:12:09 Modified: mailfilter-guide.xml Log: remove smtpclient section entirely, per jaervosz's email to the GDP
Revision Changes Path 1.26 xml/htdocs/doc/en/mailfilter-guide.xml file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/mailfilter-guide.xml?rev=1.26&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/mailfilter-guide.xml?rev=1.26&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/mailfilter-guide.xml?r1=1.25&r2=1.26 Index: mailfilter-guide.xml =================================================================== RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/en/mailfilter-guide.xml,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- mailfilter-guide.xml 19 Jun 2011 03:54:12 -0000 1.25 +++ mailfilter-guide.xml 19 Jun 2011 09:12:09 -0000 1.26 @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> -<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/mailfilter-guide.xml,v 1.25 2011/06/19 03:54:12 nightmorph Exp $ --> +<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/mailfilter-guide.xml,v 1.26 2011/06/19 09:12:09 nightmorph Exp $ --> <guide> <title>Gentoo mailfiltering gateway guide</title> @@ -25,8 +25,8 @@ <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> <license/> -<version>4</version> -<date>2011-06-18</date> +<version>5</version> +<date>2011-06-19</date> <chapter> <title>Introduction</title> @@ -1090,108 +1090,6 @@ </body> </section> - -<!-- 2011-06-18: smtpclient last-rited; needs to be rewritten to use ssmtp, -mailx, postfix, nail, etc. -<section> -<title>Redelivering false positives</title> -<body> - -<p> -If you set the spam score very low like we do you will probably have some false -positives. These are filtered into the folder <path>likely-spam</path>. These -are manually reviewed and any false positive is moved to the -<path>redeliver</path> mailfolder. From there it is first fed through -<c>sa-learn \-\-ham</c> and then redelivered with all headers intact using <uri -link="http://www.engelschall.com/sw/smtpclient/">smtpclient</uri>. -</p> - -<pre caption="Installing smtpclient"> -# <i>echo "mail-client/smtpclient" >> /etc/portage/package.accept_keywords</i> -# <i>emerge smtpclient</i> -</pre> - -<p> -Check for mails in the <path>redeliver</path> folder every minute using cron. -</p> - -<pre caption="amavis crontab"> -<comment>#Redeliver false positives</comment> -* * * * * find /var/amavis/.maildir/Bayes/.redeliver/cur/ -type f -name \ - "[0-9]*" -exec cp {} /var/amavis/.maildir/Bayes/.ham/cur/ \; \ - && find /var/amavis/.maildir/Bayes/.redeliver/cur/ -type f \ - -name "[0-9]*" -exec /usr/local/bin/redeliver.pl {} \; -</pre> - -<p> -Now we only have to copy the <c>redeliver.pl</c> file to -<path>/usr/local/bin/</path>. <uri -link="http://home.coming.dk/files/redeliver.pl">Download it</uri> or use -the version below. -</p> - -<pre caption="redeliver.pl"> -<comment>#!/usr/bin/perl -w - -# Redelivers mail using a modified version of smtpclient -# By: Jens Hilligsoe <[email protected]></comment> - -use strict; - -if(!($#ARGV == 0)) { - die "Usage:\n$0 maildir_mail\n"; -} - -my $mail = $ARGV[0]; -my $to = ""; -my $from = ""; - -sub prunefile ( $ ); - -<comment># Retrieve To and From envelope adresses</comment> -open (MAIL, $mail) or die "Could not open $mail: $?\n"; -while(<MAIL>) { - if(($to eq "") || ($from eq "")) { - chop; - (my $key, my $value) = split (/:/); - if($key eq "X-Envelope-To") { - $to = $value; - $to =~ s/[\<\>,]//g; # Remove "<", ">" and "," - $to =~ s/^\s+|\s+$//g; #Remove whitespace before and after - } - if($key eq "X-Envelope-From") { - $from = $value; - $from =~ s/[\<\>,]//g; - $from =~ s/^\s+|\s+$//g; - if($from eq "") { - $from = "postmaster"; - } - } - } -} - -if($to eq "") { - prunefile($ARGV[0]); # Just nuke it if to is empty -} else { - my $redelivercmd = "cat $ARGV[0] | smtpclient -w -S 127.0.0.1 -P 10025 -f $from $to"; - unless (system($redelivercmd) == 0 ) { - die "Unable to redeliver: $?"; - } - prunefile($ARGV[0]); # Clean up -} - -sub prunefile ( $ ) { - my ($file) = @_; - unless (unlink $file) { - die "Unable to remove mail: $?"; - } -} -</pre> - -</body> -</section> ---> - <section> <title>Cleaning up</title> <body>
