Toon posts:

[Fedora] postfix + procmail + spamassassin + cyrus

Pagina: 1
Acties:
  • 609 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb fedora FC3 waar via fetchmail mail opgehaald wordt, die gaat dan naar postfix, die duwt het naar procmail, die het op zijn beurt door spamassassin heen haalt en vervolgens afleverd aan cyrus.
Heeft even geduurd voor ik dat voor elkaar had maar het werkt.
Nu wil ik de door spamassassin getagde mail in een aparte folder van mijn mailbox droppen.

De folder waar het inmoet is:
/var/spool/imap/c/user/cats/spam

Mijn /etc/procmailrc (ik heb dus 1 procmailrc voor het hele systeem, niet 1 per user) ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PATH=/usr/bin:/bin
LOGFILE="/var/log/procmail/procmail.log"
IMAP="/usr/lib/cyrus-imapd/deliver -m user.$USER -e $EXTENSION $USER"
INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc
VERBOSE=on


:0fw
| /usr/bin/spamc

:O:
* ^X-Spam-Status:.*Yes.*
/var/spool/imap/c/user/cats/spam

:0
|$IMAP


In mij procmaillog staat:
code:
1
2
3
4
5
6
7
procmail: Skipped "O:"
procmail: Match on "^X-Spam-Status:.*Yes.*"
procmail: Assigning "LASTFOLDER=/var/spool/imap/c/user/cats/spam/msg.PBoF"
procmail: Opening "/var/spool/imap/c/user/cats/spam/msg.PBoF"
procmail: Acquiring kernel-lock
 Subject: *****SPAM***** Re: *****SPAM***** [spam] Fastest_UP!
  Folder: /var/spool/imap/c/user/cats/spam/msg.PBoF


Da's leuk maar dat berichtje kan ik dus niet zien want cyrus weet niet dat dat berichtje in de box staat. Dit is dus blijkbaar niet de juiste methode, maar hoe werkt het wel? Sieve?

Met dank aan dit topic:
postfix + procmail + spamassassin + cyrus
die doet hetzelfde alleen hoe hij de spam in de juiste folder krijgt staat er niet bij...

Oh ja, en waarom zegt procmail: skipped "O:"
En als iemand een behoorlijke procmail tutorial of howto heeft waarin PRECIES uitgelegd wordt hoe je een procmail regel schrijft (dus oa waar die :Oxyz voor dienen) dan hou ik me aanbevolen.

[ Voor 16% gewijzigd door Verwijderd op 12-06-2005 10:24 ]


Verwijderd

Topicstarter
Ok, na een uur googlen iets erg interesants gevonden:
http://email.uoa.gr/projects/squirrelmail/avelsieve.php

Kun je via squirrelmail sieve filters aanmaken.
procmail is voor mij te hoog gegrepen blijkbaar

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 19:18
Sloop procmail eruit, zoals je nu bezig bent, sloop je gewoon de cyrus spool.

Cyrus is een blackbox systeem (maar dan eentje waarvan je weet wat er binnenin die black box gebeurt :P), waarbij je 3 interfaces hebt om bij je mail te komen: LMTP, IMAP en POP. Buiten deze interfaces om moet je niet aan die spool komen, behalve als je weet hoe cyrus intern precies werkt (vaak mag je recover scripts gaan draaien over een mailbox als je berichten erin zet op filesystem niveau).

Alles wat cyrus binnenkrijgt op LMTP gaat eerst door sieve, de interne filtering engine van Cyrus. Deze is te configureren vanuit bijvoorbeeld squirrelmail met de avelsieve plugin.

Zelf gebruik ik voor een mailserver met pak em beet 650 domeinen deze setup:

postfix/smtp -> amavis/10024 -> postfix/10025 -> cyrus/lmtp

Amavis doet ook spamscanning als je de spamassassin perl modules geinstalleerd hebt (gewoon spamassassin installeren maar de daemon niet laten draaien). Binnen amavis kan je dan nog aangeven of je spam killt of doorlaat bij bepaalde scores en sieve kan je vervolgens configureren op headers om doorgelaten spam die wel aan de scores voldoet in een apart mapje te zetten.

Overigens kan je met cyrus ook gewoon postman de "p" rechten op een subfolder in je mailbox geven, kan je user+spam@domain gebruiken om in de spambox van user@domain af te laten leveren.