Robert J. Wilson writes on 17 September 1997 at 18:08:55
We are using procmail with good success but some SPAM leakage occurs
with bogus source addresses. Is there a script that rejects e-mail when
the sending domain name is invalid?
Here's what I hooked up the other day...not fully tested yet, and note
the comments.
Dan
------------------- message is author's opinion only ------------------
J. Daniel Smith <DanS(_at_)bristol(_dot_)com>
http://www.bristol.com/~DanS
Bristol Technology B.V. +31 33 450 50 50, ...51 (FAX)
Amersfoort, The Netherlands {info,jobs}(_at_)bristol(_dot_)com
-----
spamcheck_word="[a-z0-9][-a-z0-9_.+]*[a-z0-9]+"
spamcheck_tld="(com|gov|org|edu|net|[a-z][a-z])"
spamcheck_email="\<${spamcheck_word}@(${spamcheck_word}\.)+${spamcheck_tld}\>"
# be sure the domain is valid. In addition to this being SLOW, it's
# somewhat risky as DNS timeouts can occur. Thus, it's done (for now)
# only if there isn't already an X-SpamCheck-Reason: header
:0
* !^X-SpamCheck-Reason:
{
# this is how to determine if a domain is invalid. To disable the
# nslookup, set SPAMCHECK_INVALID_DOMAIN to /bin/false
#SPAMCHECK_INVALID_DOMAIN=/bin/false
SPAMCHECK_INVALID_DOMAIN=${SPAMCHECK_INVALID_DOMAIN:-'/usr/sbin/nslookup
-query=any $SPAMCHECK_DOMAIN 2>&1 | grep -c "Non-existent domain"'}
#SPAMCHECK_DOMAIN=`echo $SENDER | awk -F@ '{print $2}'`
:0
* $ SENDER ??
()${spamcheck_word}(_at_)\/(${spamcheck_word}\.)+${spamcheck_tld}
{ SPAMCHECK_DOMAIN=$MATCH }
:0
* $?$SPAMCHECK_INVALID_DOMAIN
{
SPAMCHECK_SPAM=yes
:0fwh
| formail -A "X-SpamCheck-Reason: Invalid domain: $SPAMCHECK_DOMAIN"
}
:E
{
:0
* $ FROM_ADDRESS ??
()${spamcheck_word}(_at_)\/(${spamcheck_word}\.)+${spamcheck_tld}
{ SPAMCHECK_DOMAIN=$MATCH }
:0
* $?$SPAMCHECK_INVALID_DOMAIN
{
SPAMCHECK_SPAM=yes
:0fwh
| formail -A "X-SpamCheck-Reason: Invalid domain: $SPAMCHECK_DOMAIN"
}
:E
{
:0
* $^TO${spamcheck_word}(_at_)\/(${spamcheck_word}\.)+${spamcheck_tld}
{ SPAMCHECK_DOMAIN=$MATCH }
:0
* $?$SPAMCHECK_INVALID_DOMAIN
{
SPAMCHECK_SPAM=yes
:0fwh
| formail -A "X-SpamCheck-Reason: Invalid domain: $SPAMCHECK_DOMAIN"
}
}
}
}