[Top][All Lists]

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

Re: newbie spam filtering with gnus

From: Enrico Schumann
Subject: Re: newbie spam filtering with gnus
Date: Sat, 04 Apr 2015 07:59:53 +0200

On Fri, 03 Apr 2015, Steven Arntson <> writes:

> Enrico Schumann <> writes:
>> On Thu, 02 Apr 2015, Steven Arntson <> writes:
>> [...]
>>> Spamc -V does give me a version number, so that seems to be working. I
>>> added the code you recommended, so the full splitting/spam-oriented
>>> lines of my .gnus are:
>>> | (setq nnmail-split-methods 'nnmail-split-fancy
>>> |       nnmail-split-fancy '(| (: kevin-spamassassin)
>>> |                              "mail.misc"))
>>> |  
>>> | (defun kevin-spamassassin ()
>>> |   (save-excursion
>>> |     (save-restriction
>>> |       (widen)
>>> |       (if (eq 1 (call-process-region (point-min) (point-max)
>>> |                                      "spamc" nil nil nil "-c"))
>>> |           "spam"))))
>>> I can receive mail still---all seems to be working, but no spams have
>>> yet been filtered. Are there steps I need to take directly with
>>> Spamassassin to get it working?
>> spamc requires that spamd is running (see 'man spamassassin'). In a
>> terminal, try
>>     echo something | spamc -r
>> If SpamAssassin works, it should tell you that the message ('something')
>> is spam because it is missing headers etc.
> I entered `sudo spamd' on terminal, and that seemed to start spamd. I
> followed with the input you recommended:
>     echo something | spamc -r
> And the system told me it looked like spam---so it's all working!
> However, nothing's getting filtered yet. I feel like I should be
> "teaching" the system by feeding it some spam? But am not sure how to
> send a spam to spamassassin. I know the spam.el package provides the `$'
> for marking things as spam, but the config we're working with here
> doesn't use spam.el.

The function 'kevin-spamassassin' sends the message to spamc. There is
no need for teaching; it should work 'out of the box'. Well, ... :-)

Random thoughts:

1. Just to be sure: you did evaluate the code above, for instance by
   reloading your .gnus.el or restarting Gnus?

2. Old (seen) mails, even if unread, will by default not be split, only
   incoming messages.

3. If splitting works and you did not have a group 'spam', then this
   group will be created, but you need to subscribe to it: in the
   *Group* buffer, press '^', then go to your server, press enter, to
   have all groups listed.

4. You can try if kevin-spamassassin works: go to a 'good' message and
   in the article-buffer, press 'C-u g', which should show the article
   in raw form. Enter 'M-: (kevin-spamassassin)'. If the function works
   and the message is not spam, you should see 'nil' in the echo area at
   the bottom. Now go to a spam message and do the same; you should
   see 'spam' in the echo area.

Enrico Schumann
Lucerne, Switzerland

reply via email to

[Prev in Thread] Current Thread [Next in Thread]