Mail-SpamFilter
view release on metacpan or search on metacpan
bin/dspam-train view on Meta::CPAN
use strict;
use warnings;
use Mail::SpamFilter ':all';
(my $myname = $0) =~ s|(.*/)*||; # strip path component from name
my $Usage = "Usage: $myname [spam|ok] [file]\n";
# Check one or more arguments:
die $Usage if ($#ARGV < 0);
my $HOME = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
(getpwuid($<))[7] || die "You're homeless!\n";
my $USER = $ENV{'USER'} || getlogin ||
(getpwuid($<))[0] || die "You're nameless!\n";
my $opts = "--user $USER --mode=teft --stdout";
my $V = 0;
if (@ARGV && $ARGV[0] eq "-v") {
$V = 1;
shift;
}
my $type = shift;
my $result;
##
#############################################################################
# Learn a message as SPAM: train on errors only
#
use strict;
use warnings;
use Mail::SpamFilter ':all';
my $HOME = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
(getpwuid($<))[7] || die "You're homeless!\n";
my @filters = @Mail::SpamFilter::FILTER_LIST;
@filters = grep { $_ ne "dspam" } @filters;
my $V = 1;
if (@ARGV && $ARGV[0] eq "-s") {
$V = 0;
shift(@ARGV);
}
bin/notspam view on Meta::CPAN
##
#############################################################################
# Learn a message as not spam (HAM): train on errors only
#
use strict;
use warnings;
use Mail::SpamFilter ':all';
my $HOME = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
(getpwuid($<))[7] || die "You're homeless!\n";
my @filters = @Mail::SpamFilter::FILTER_LIST;
@filters = grep { $_ ne "dspam" } @filters;
my $V = 1;
if (@ARGV && $ARGV[0] eq "-s") {
shift(@ARGV);
}
if (@ARGV && $ARGV[0] eq "x" && -f "$HOME/Documents/x") {
bin/spamhaus_zen_check view on Meta::CPAN
use warnings;
umask 077;
(my $myname = $0) =~ s|(.*/)*||; # strip path component from name
my $Usage = "Usage: $myname < msg\n";
# Check for zero arguments:
die $Usage unless (@ARGV == 0);
my $HOME = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
(getpwuid($<))[7] || die "You're homeless!\n";
my $zen = "zen.spamhaus.org";
my $base = "$HOME/.wpbl";
my $exclude = "$base/data/exclude";
# Compute a regexp of IPs to exclude (uses the wpbl list of my ISP addresses):
my $excl_pat = "";
open(EX, $exclude) or die "Can't read $exclude: $!\n";
while (<EX>) {
sub rotate($);
umask 077;
(my $myname = $0) =~ s|(.*/)*||; # strip path component from name
my $Usage = "Usage: wpbl -send OR wpbl [spam|good] < msg\n";
# Check for zero or one arguments:
die $Usage unless (@ARGV == 0) || (@ARGV == 1);
my $HOME = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
(getpwuid($<))[7] || die "You're homeless!\n";
my $base = "$HOME/.wpbl";
my $exclude = "$base/data/exclude";
my $log = "$base/log";
my $auth = "$base/data/auth";
my $url = "http://wpbl.pc9.org/cgi-bin/wpbl-submit.cgi";
my $request = "$base/data/request";
my $levels = 9; # Number of backup log and request files to keep
if (@ARGV && ($ARGV[0] eq "-send")) {
bin/wpbl_check view on Meta::CPAN
use strict;
use warnings;
(my $myname = $0) =~ s|(.*/)*||; # strip path component from name
my $Usage = "Usage: $myname < msg > output\n";
# Check for zeroarguments:
die $Usage unless (@ARGV == 0);
my $HOME = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
(getpwuid($<))[7] || die "You're homeless!\n";
my $base = "$HOME/.wpbl";
my $exclude = "$base/data/exclude";
my $blocks = "$base/data/wpbl-blocks.cidr";
my $source = "rsync://rsync.wpbl.info/wpbl/wpbl-blocks.cidr";
undef $/;
# If $blocks is older than 0.042 days (just over one hour), then re-fetch it:
if (-M $blocks > 0.042) {
( run in 1.488 second using v1.01-cache-2.11-cpan-39bf76dae61 )