আমি কীভাবে স্প্যামআস্যাসিনে বেশ কয়েকটি কাস্টম "খারাপ" শব্দ যুক্ত করতে পারি, তাই ইমেলগুলিতে সেই শব্দগুলি একটি স্প্যাম হিসাবে চিহ্নিত রয়েছে?
হালনাগাদ
কীগুলির মধ্যে একটি হ'ল ফাইল / ইত্যাদি / মেল / স্প্যামাস্যাসিন সম্পাদনা করা, এবং বর্ণিত ব্যাডওয়ার্ড ফিল্টার যুক্ত করা
http://linuxguruz.wordpress.com/2008/09/16/spamassassin-example/
তবে এই ক্ষেত্রে, মেলটি কেবল একটি স্প্যাম হিসাবে চিহ্নিত হয়েছে, এটি এখনও আমার ইনবক্সে যায় ...
মোটেই খারাপ শব্দ রয়েছে এমন ইমেলগুলি না পাওয়ার জন্য আমার কী করতে হবে?
আপডেট 2
ইমেলটিকে স্প্যাম হিসাবে শ্রেণিবদ্ধ করা হলে আমার স্প্যামএস্যাসিন বিষয় পরিবর্তন করে এবং এটি এখন দুর্দান্ত কাজ করে। ফাইল /etc/mail/spamassassin/local.cf দেখে মনে হচ্ছে:
ok_locales all
skip_rbl_checks 0
required_score 5
report_safe 1
rewrite_header Subject ***SPAM***
use_pyzor 1
use_razor2 1
use_auto_whitelist 0
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
blacklist_from *@kupiizaradi.cjb.net
blacklist_from *@hallmark.com
whitelist_from *@*hrgworldwide.com
whitelist_from *@bluehost.com
#blacklist_from *@greekajob.com
header CONTAINS_VIG Subject =~ /viagra, Cialix Pills, sex, xxx, penis, pussy, greekajob, greekajobs, pera
zdera/
body CONTAINS_PEN /viagra, sex, xxx, penis, puss, greekajob, greekajobs, perazdera/
score CONTAINS_VIG 1.5
score CONTAINS_PEN 1.5
describe CONTAINS_VIG Bad Word
describe CONTAINS_PEN Bad Word
সুতরাং, এখন আমার কীভাবে এটি করা দরকার:
- এই ইমেলগুলি স্প্যাম ফোল্ডারে সরান
- সার্ভারে যুক্ত প্রতিটি নতুন মেল অ্যাকাউন্টের জন্য স্বয়ংক্রিয়ভাবে স্প্যাম ফোল্ডার তৈরি করুন
ফাইল / ইত্যাদি / মেইল / মেইল ফিল্টার এর মতো দেখাচ্ছে:
SHELL="/bin/sh"
import EXT
import HOST
VHOME=`pwd`
TIMESTAMP=`date "+%b %d %H:%M:%S"`
#VERBOSE=9
logfile "/var/log/maildrop/maildrop.log"
log "$TIMESTAMP - BEGIN maildrop processing for $EXT@$HOST ==="
`test -r $VHOME/.mailfilter`
if($RETURNCODE == 0)
{
log "including $VHOME/.mailfilter"
exception {
include $VHOME/.mailfilter
}
}
# does maildirsize exist?
`test -e $VHOME/Maildir/maildirsize`
# if maildirsize doesn't exist
if($RETURNCODE == 1)
{
# does vuserinfo exist?
`test -x /home/vpopmail/bin/vuserinfo`
# if vuserinfo exists
if($RETURNCODE == 0)
{
# does the user exist?
`/home/vpopmail/bin/vuserinfo $EXT@$HOST`
if($RETURNCODE == 0)
{
# find out what the user's quota is
$QUOTA=`/home/vpopmail/bin/vuserinfo -Q $EXT@$HOST`
log "QUOTA = $QUOTA"
# does maildirmake exists?
`test -x /usr/bin/maildirmake`
# if maildirmake exists
if($RETURNCODE == 0)
{
# does Maildir exist?
`test -d $VHOME/Maildir`
# if Maildir exists
if($RETURNCODE == 0)
{
# make the maildirsize file
`/usr/bin/maildirmake -q $QUOTA $VHOME/Maildir`
`test -s "$VHOME/Maildir/maildirsize"`
# if maildirsize exists
if($RETURNCODE == 0)
{
`/bin/chown vpopmail:vchkpw $VHOME/Maildir/maildirsize`
`/bin/chmod 640 $VHOME/Maildir/maildirsize`
# else
}
else
{
log "Problem making 'maildirsize' for $VHOME"
}
# end if maildirsize exists
}
else
{
log "Maildir does not exist for $VHOME"
}
# end if Maildir exists
}
else
{
log "maildirmake does not exist"
# end if maildirmake exists
}
}
else
{
log "user $EXT@HOST does not exist"
# end if user exists
}
}
else
{
log "vuserinfo does not exist"
# end if vuserinfo exists
}
}
# does maildirsize exist?
`test -e $VHOME/Maildir/maildirsize`
if($RETURNCODE == 0)
{
MAILDIRQUOTA=`/usr/bin/head -n1 $VHOME/Maildir/maildirsize`
log "MAILDIRQUOTA = $MAILDIRQUOTA"
}
#--------------------------------------------------------
# Filter spam - scores >= SPAMLIMIT is not delivered
#
# If you DO NOT want to send mail that is over the spam limit
# to spamassassin autolearn, comment: 'cc "|sa-learn -spam"'
#--------------------------------------------------------
##########################################################################
# Below is where I found some of the main problem, i.e apparently the
# regex logic changed, do a diff against this one and the old one,
# the old one was delimited with the '!' (bang) and grouped as a whole.
# it failed the match always. By using standard regex grouping, I was able
# to get the filter working. By grouping the score accordingly, it
# breaks it into a number and precision, e.g. MATCH1 and MATCH2
##########################################################################
if(/^X-Spam-Status: Yes, score=([0-9]+)\.([0-9]+)/:h)
{
if($MATCH1 >= 5)
{
cc "|sa-learn --spam"
}
# if the user doesnt' have a Spam folder
`test -d $VHOME/Maildir/.Spam`
if($RETURNCODE == 1)
{
`test -x /usr/bin/maildirmake`
if($RETURNCODE == 0)
{
`/usr/bin/maildirmake -f Spam $VHOME/Maildir`
`test -x /usr/bin/subscribeIMAP.sh`
if($RETURNCODE == 0)
{
`/usr/bin/subscribeIMAP.sh Spam $VHOME`
}
}
}
# make sure the deliverquota binary exists and is executable
`test -x /usr/bin/deliverquota`
if($RETURNCODE == 1)
{
exception {
to "$VHOME/Maildir/.Spam"
}
}
else
{
cc "|/usr/bin/deliverquota -w 90 $VHOME/Maildir/.Spam"
if($RETURNCODE == 0)
{
log "=== END === $EXT@$HOST success (quota)"
EXITCODE=0
exit
}
else
{
if($RETURNCODE == 77)
{
log "$TIMESTAMP - $EXT@$HOST bounced (quota)"
to "|/var/qmail/bin/bouncesaying '$EXT@$HOST is over quota'"
}
else
{
log \
"$TIMESTAMP - $EXT@$HOST failure (unknown deliverquota error)"
to "$VHOME/Maildir/.Spam"
}
}
}
}
##########################################################################
# Same as above
##########################################################################
if(/^X-Spam-Status: No, score=([\-]*[0-9]+)\.([0-9]+) /:h)
{
log " message is clean ($MATCH1.$MATCH2)"
}
#--------------------------------------------------------
# Include any user rules
#--------------------------------------------------------
`test -r $VHOME/Maildir/.mailfilter`
if($RETURNCODE == 0)
{
log " including $VHOME/Maildir/.mailfilter"
exception {
include $VHOME/Maildir/.mailfilter
}
}
`test -x /usr/bin/deliverquota`
if ($RETURNCODE == 1)
{
log "$TIMESTAMP - $EXT@$HOST WARNING: no deliverquota!"
log "=== END === $EXT@$HOST success"
exception {
to "$VHOME/Maildir"
}
}
else
{
exception {
log "RETCODE = $RETURNCODE delivering to $VHOME/Maildir"
xfilter "/usr/bin/deliverquota -w 90 $VHOME/Maildir"
}
#--------------------------------------------------------
# check to make sure the message was delivered
# returncode 77 means that out maildir was overquota - bounce mail
#--------------------------------------------------------
if($RETURNCODE == 77)
{
log "$TIMESTAMP - BOUNCED: bouncesaying '$EXT@$HOST is over quota'"
log "$TIMESTAMP - $EXT@$HOST bounced"
to "|/var/qmail/bin/bouncesaying '$EXT@$HOST is over quota'"
}
else
{
log "=== END === $EXT@$HOST success (quota)"
EXITCODE=0
exit
}
}
log "$TIMESTAMP - $EXT@$HOST - WARNING: This message should never be printed!"
[root@um-1027 /etc/mail]#
এবং .কিমেইল-ডিফল্ট এর মত দেখাচ্ছে:
|/var/qmail/bin/preline /usr/bin/maildrop /etc/mail/mailfilter
কীভাবে এটি ঠিক করতে এবং স্প্যাম বার্তাগুলিকে স্প্যাম ফোল্ডারে স্থানান্তর করতে দয়া করে আমাকে সাহায্য করতে পারেন?
/viagra, sex, xxx, penis, puss, greekajob, greekajobs, perazdera/
একটি লজিক্যাল ওআর কমা নয়। এটি একটি পাইপ। = "|" কমাগুলি সাধারণত আক্ষরিক কমা হিসাবে নেওয়া হয় এবং স্থানগুলি একই হয়। আপনি শরীরে ঠিক এই লাইনের মতো একটি লাইন অনুসন্ধান করছেন: "ভায়াগ্রা, সেক্স, এক্সএক্সএক্সএক্স, লিঙ্গ, পুস, গ্রীকাজব, গ্রীকাজবস, পেরেজডেরা"।/(viagra|sex|xxx|penis|puss.|greekajob|greekajobs|perazdera)/i
পরিবর্তে চেষ্টা করবেন ?