Re: [Evolution] SpamAssassin with Evolution



It seems that the .forward file does get invoked when clicking the
"Send/Receive" button in Evolution.

I tried this .forward file:


"|exec /usr/bin/procmail -f-", "|/bin/cat >> /user/veenstra/temp.mbox", "|/usr/bin/spamassassin -P >> /user/veenstra/temp.spam"


And it copied the mail to "temp.mbox".  It also created a file called
"temp.spam" but it was empty.

It also seems to call procmail.  I got a logfile with the following
messages in it:

procmail: [6480] Mon Mar 10 16:26:19 2003
procmail: Assigning "LOGABSTRACT=all"
procmail: Assigning "PATH=/bin:/usr/bin:/sbin:/usr/sbin"
procmail: Match on "< 256000"
procmail: Locking "spamassassin.lock"
procmail: Executing "/usr/bin/spamassassin"
/usr/bin/spamassassin: /usr/bin/spamassassin: cannot open
procmail: Error while writing to "/usr/bin/spamassassin"
procmail: Rescue of unfiltered data succeeded
procmail: Unlocking "spamassassin.lock"
procmail: No match on "^X-Spam-Status: Yes"
procmail: Bypassed locking "/var/mail/veenstra.lock"
procmail: Assigning "LASTFOLDER=/var/mail/veenstra"
procmail: Opening "/var/mail/veenstra"
procmail: Acquiring kernel-lock
procmail: Notified comsat: "veenstra 0:/var/mail/veenstra"
>From veenstra veenstra sandcraft com  Mon Mar 10 16:26:19 2003
Subject: ONCE IN A LIFETIME!!!
  Folder: /var/mail/veenstra                      
       

The error messages imply that either procmail or spamassassin is trying
to write to /usr/bin/spamassassin.  Why is that?  My .procmailrc file
looks like this:

SHELL = /bin/sh
MAILDIR = $HOME/Maildir
LOGFILE = $HOME/Maildir/_logfile
VERBOSE = yes
LOGABSTRACT = all
PATH = /bin:/usr/bin:/sbin:/usr/sbin

:0fw: spamassassin.lock
* < 256000
| /usr/bin/spamassassin

:0:
* ^X-Spam-Status: Yes
probably-spam



Any help on how to fix this?

Jack V.


On Sat, 2003-03-08 at 04:10, guenther wrote:
I don't use spamassassin yet (want to set it up) but I use fetchmail and
procmail on two machines. And there sure are some some optimizations...


> Actually it's alot easier to do the following: 
> 
> [ assuming you are doing this for yourself and not for the entire
> machine: ] 
> 
> - Use fetchmail to get your mail and deliver it locally to your MTA 

yep


> - Use procmail (forward it via your .forward file) and run spamc or
> spamassassin on each incoming mail. 

uh, why? On my system (Mandrake 9.0) the local MTA looks for a
.procmailrc file. no need, to use a .fetchmail file to forward it to
procmail. As you don't do any other, you probably could leave that out.


> Now the mail is marked up with X-Spam-Status: as a header which you can
> use evo to filter (rule based) out and read the rest. 

Better approach would be, to let procmail move Spam to special folders.

Why bother with with fetchmail rules, procmail rules and Evo rules, when
you could have all rules in one single .procmailrc file?

That has the additional benefit, that these rules even work, when using
another MUA -- as if anyone want a mail client besides Evo... ;-)


> .fetchmailrc: 
> set daemon 5

checking every 5 _seconds_?


> On Fri, 2003-03-07 at 21:29, Jack Veenstra wrote:
> > Has anyone gotten SpamAssassin (an excellent tool for filtering out
> > spam) to work with Evolution?
> > 
> > [...]
> > 
> > 2. Another approach is to setup your .forward and .procmailrc files
> > to run spamassassin automatically when mail is received.  Then
> > spamassassin will rewrite the message headers of spam (this is what
> > I want).  I haven't been able to get this to work, however.  I've
> > read a lot of examples on the web and copied them to my .procmailrc
> > file but I can't get it to work.  It's as if nothing is marked as spam
> > (even for test messages that are definitely spam).  Has anyone gotten
> > this to work?

procmail does not get invoked, when polling new mail by Evo. See
below...


> > When do the commands in the .forward file get invoked?  Does Evolution
> > have to be aware of the .forward file (and parse it and run commands)?
> > Or does that happen in some other process?

fetchmail and procmail get invoked by the local MTA delivering the mail,
when configured so -- depends on your distribution...

They don _not_ get invoked, when using Evo to poll mail accounts.


> > Currently I have Evolution set up to read my mail out of a remotely
> > mounted file (using the "Local Delivery" setting).  I would like to
> > change that to fetch my mail using IMAP, but I have had problems getting
> > that to work.  How are the commands in the .forward file executed
> > under those two mechanisms (mbox file vs. IMAP)?

That's what I use:

fetchmail polls my remote POP3 accounts, delivers it locally. That
invokes procmail (see below). Evo polls my local IMAP server, as I need
my mails even when not at home. (DSL flat rules ;-)

procmail: I use procmail mainly to pre-sort my mail. There are quite a
lot of mailing lists. procmail stores incoming mails in the
corresponding mbox files. That means, when I start Evo, my mail already 
is sorted. No Evo side filtering needed...

A good procmail recipe would be to pipe the mail through spamassassin
and sort the mails according -- spam goes into a special mbox file.


If you need some hints for your procmail rules to get started, feel free
to ask.

...guenther


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]