Alle,
Ik heb op onze mailserver een spam filter draaien, de wel bekende spamassassin. Nu werkt dit allemaal super alleen zit ik nog met een probleem. Om spamd (spamassassin deamon) per user te laten werken zodat elke user zijn eigen user_prefs kan instellen moet je de spamassassin procmailrc een beetje aanpassen. zie hieronder:
Wat is nu het probleem spamd/spamc wordt nu per mail 2x gedraaid, dus elke mail word eerst voor de user root gescand en daarna voor de user waarvoor de mail in bedoeld. Dit is klote; 1 om de load, maar 2 nog veel ergen. doordat hij 2 keer gescand wordt is de tweede scan niet altijd het zelfde. Het is voorgekomen dat een mail als super spam wordt gezien door de eerste scan (14.00/5.0) (was ook super spam) en door de tweede scan er net door heen komt (4.0/5.0) en dus in je inbox beland als niet spam. Voor de duidelijkheid zie onderstaande log... hier is het juist weer omgekeert maar het gaat op het principe...
Wie kan mij verstellen hoe ik er voor zorg dat de mail niet eerst met de user root gescand wordt en vervolgens pas door de uiteindelijke user?
Ik heb op onze mailserver een spam filter draaien, de wel bekende spamassassin. Nu werkt dit allemaal super alleen zit ik nog met een probleem. Om spamd (spamassassin deamon) per user te laten werken zodat elke user zijn eigen user_prefs kan instellen moet je de spamassassin procmailrc een beetje aanpassen. zie hieronder:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| # SpamAssassin sample procmailrc
#
# Pipe the mail through spamassassin (replace 'spamassassin' with 'spamc'
# if you use the spamc/spamd combination)
#
# The condition line ensures that only messages smaller than 250 kB
# (250 * 1024 = 256000 bytes) are processed by SpamAssassin. Most spam
# isn't bigger than a few k and working with big messages can bring
# SpamAssassin to its knees.
#
# The lock file ensures that only 1 spamassassin invocation happens
# at 1 time, to keep the load down.
#
:0fw: spamassassin.lock
* < 256000
| spamc
# User scan
dropprivs=yes
:0fw
* < 256000
| spamc -u $LOGNAME
# Mails with a score of 15 or higher are almost certainly spam (with 0.05%
# false positives according to rules/STATISTICS.txt). Let's put them in a
# different mbox. (This one is optional.)
:0:
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
almost-certainly-spam
# All mail tagged as spam (eg. with a score higher than the set threshold)
# is moved to the "spam-mailbox" mbox.
#:0:
#* ^X-Spam-Status: Yes
#spam-mailbox
# Work around procmail bug: any output on stderr will cause the "F" in "From"
# to be dropped. This will re-add it.
:0
* ^^rom[ ]
{
LOG="*** Dropped F off From_ header! Fixing up. "
:0 fhw
| sed -e '1s/^/F/'
} |
Wat is nu het probleem spamd/spamc wordt nu per mail 2x gedraaid, dus elke mail word eerst voor de user root gescand en daarna voor de user waarvoor de mail in bedoeld. Dit is klote; 1 om de load, maar 2 nog veel ergen. doordat hij 2 keer gescand wordt is de tweede scan niet altijd het zelfde. Het is voorgekomen dat een mail als super spam wordt gezien door de eerste scan (14.00/5.0) (was ook super spam) en door de tweede scan er net door heen komt (4.0/5.0) en dus in je inbox beland als niet spam. Voor de duidelijkheid zie onderstaande log... hier is het juist weer omgekeert maar het gaat op het principe...
Wie kan mij verstellen hoe ik er voor zorg dat de mail niet eerst met de user root gescand wordt en vervolgens pas door de uiteindelijke user?
[ Voor 1% gewijzigd door Koffie op 09-09-2004 12:52 ]