7 use lib "$FindBin::Bin/../lib";
8 use lib "$FindBin::Bin/../../lib";
16 my $userid = $ENV{USER};
20 die "TODO: Test this script";
27 open my $file, '<', $filename
28 or error "Unable to open $filename - $!", 1;
34 my @address = split /\@/, $fields[0];
36 $item{pattern} = $address[0];
37 $item{domain} = $address[1];
38 $item{comment} = $fields[1] ? $fields[1] : '';
39 $item{hit_count} = $fields[2] ? $fields[2] : 0;
40 $item{retention} = $fields[3];
55 my $item->{sequence} = GetNextSequenceNo(
60 $item->{userid} = $userid;
61 $item->{type} = $type;
64 display_nolf "Adding $item->{pattern}\@$item->{domain} ($item->{comment}) to null list ($item->{sequence})...";
66 last unless $item->{pattern} or $item->{domain};
68 $item->{sender} = CheckEmail $item->{pattern}, $item->{domain};
70 my ($status, $rule) = OnNulllist($item->{sender}, $userid);
73 display ' Already on list';
75 my ($message, $msg) = Add2Nulllist(%$item);
79 # Now remove this entry from the other lists (if present)
80 for my $otherlist ('white', 'black') {
82 userid => $item->{userid},
84 sender => $item->{sender}
89 if ($seq->{sequence}) {
90 my $count = DeleteList(
91 userid => $item->{userid},
93 sequence => $seq->{sequence},
96 display "Removed $item->{sender} from ${Userid}'s " . ucfirst $otherlist . ' list'
100 userid => $item->{userid},
117 $filename = $ARGV[0];
119 error "Must specify a filename of addresses to null list", 1;
124 $Userid = ucfirst $userid;
126 Add2List(GetItems ($filename));