2 ################################################################################
4 # File: $RCSfile: checkaddress.cgi,v $
5 # Revision: $Revision: 1.1 $
6 # Description: Check an email address
7 # Author: Andrew@DeFaria.com
8 # Created: Mon Jan 16 20:25:32 PST 2006
9 # Modified: $Date: 2013/06/12 14:05:47 $
12 # (c) Copyright 2000-2006, Andrew@DeFaria.com, all rights reserved.
14 ################################################################################
19 local $0 = $FindBin::Script;
21 use lib "$FindBin::Bin/../lib";
25 use CGI qw(:standard);
27 # Get MAPSUser from cookie
31 $userid = param 'user';
33 $userid = cookie 'MAPSUser';
36 $userid //= $ENV{USER};
38 my $sender = param("sender");
42 header (-title => "MAPS: Check Address"),
43 start_html (-title => "MAPS: Check Address",
44 -author => "Andrew\@DeFaria.com");
45 print h3 {-align => "center",
47 "MAPS: Checking address $sender";
55 # Algorithm change: We now first check to see if the sender is not found
56 # in the message and skip it if so. Then we handle if we are the sender
57 # and that the from address is formatted properly. Spammers often use
58 # the senders email address (i.e. andrew@defaria.com) as their from address
59 # so we check "Andrew DeFaria <Andrew@DeFaria.com>", which they have never
60 # forged. This catches a lot of spam actually.
62 # Next we check to see if the sender is on our whitelist. If so then we let
63 # them in. This allows us to say whitelist josephrosenberg@hotmail.com while
64 # still nulllisting all of the other hotmail.com spammers.
66 # Next we process blacklisted people as they are also of high priority.
68 # Then we process nulllist people.
70 # Finally, we handle return processing
71 ($onlist, $rule) = OnWhitelist($sender, $userid, 0);
74 print div {-align => "center"},
75 font {-color => "green"},
76 "Messages from", b ($sender), "will be", b ("delivered"), br, hr;
79 ($onlist, $rule) = OnBlacklist($sender, 0);
82 print div {-align => "center"},
83 font {-color => "black"},
84 "Messages from", b ($sender), "will be", b ("blacklisted"), br, hr;
87 ($onlist, $rule) = OnNulllist($sender, 0);
90 print div {-align => "center"},
91 font {-color => "grey"},
92 "Messages from", b ($sender), "will be", b ("discarded"), br, hr;
95 print div {-align => "center"},
96 font {-color => "red"},
97 "Messages from", b ($sender), "will be", b ("returned");
102 print br div {-align => "center"},
103 submit(-name => "submit",
105 -onClick => "window.close (self)");