Hello, I am sorry if I am writing to a wrong list because honestly I do not know where to write but I would like to be able to set up sa-learn via cron to learn from spam folder of a particular email account (via IMAP). Can anyone share how to do it? Is dovecot involved in it? I am using: Exim 4.69 Dovecot 1.0.10 p5-Mail-SpamAssassin-3.2.1 Thanks a lot for helping. Zbigniew Szalbot
On 29.01.2008 12:37, Zbigniew Szalbot wrote:> Hello, > > I am sorry if I am writing to a wrong list because honestly I do not > know where to write but I would like to be able to set up sa-learn via > cron to learn from spam folder of a particular email account (via > IMAP). > > Can anyone share how to do it? Is dovecot involved in it? > I am using: > Exim 4.69 > Dovecot 1.0.10 > p5-Mail-SpamAssassin-3.2.1 > > Thanks a lot for helping. > > Zbigniew Szalbot >Using crontab and correct cli for sa-learn on users spam folders.
frank.kintrup at fkware.de
2008-Jan-29 10:13 UTC
[Dovecot] sa learning from an imap spam folder
This is my approach, stored in /etc/cron.hourly. It's very new, so I'm
still testing
it.
The goal is to learn HAM massages only if they are a day old, so that I can
manually
remove SPAM that slipped through. Mails tagged from Spamassassin are sorted
automatically into the "Junk.Spam" mailbox and learned after 12 hours.
I
manually
move any missed SPAM into the .Junk mailbox, so I'm sure there are no
wrongly
tagged messages there, so I can learn those messages as soon as they are
found
by cron.
/etc/cron.hourly/sa-learn:
#!/bin/sh
umask 022
# Learn HAM messages which were roughly received between 24 and 25 hours
ago
find \
/var/vmail/fkware.de/frank.kintrup/Maildir/ \
-path '/var/vmail/fkware.de/frank.kintrup/Maildir/.Junk*' -prune -o \
-path '/var/vmail/fkware.de/frank.kintrup/Maildir/.Sent' -prune -o \
-path '/var/vmail/fkware.de/frank.kintrup/Maildir/.Trash' -prune -o \
-path '/var/vmail/fkware.de/frank.kintrup/Maildir/.Draft' -prune -o \
-iname '*server.fkware.de*' -type f -mmin +1435 -mmin -1505 \
-execdir sa-learn --username=vmail --no-sync --ham {} \; \
/dev/nul 2>/dev/nul
# Learn and delete SPAM messages which were manually moved to the Junk
folder
find \
/var/vmail/fkware.de/frank.kintrup/Maildir/.Junk/ \
-iname '*server.fkware.de*' -type f \
-execdir sa-learn --username=vmail --no-sync --spam {} \; \
-execdir rm {} \; \
>/dev/nul 2>/dev/nul
# Learn and delete SPAM messages which were received more than 12 hours ago
# and automatically put into the Junk.Spam folder
find \
/var/vmail/fkware.de/frank.kintrup/Maildir/.Junk.Spam/ \
-iname '*server.fkware.de*' -type f -mmin +720 \
-execdir sa-learn --username=vmail --no-sync --spam {} \; \
-execdir rm {} \; \
>/dev/nul 2>/dev/nul
sa-learn --username=vmail --sync >/dev/nul
exit 0