Gnus Manual. Node: NoCeM

PREVDaemons UPVarious NEXTUndo

8.12: NoCeM

Spamming is posting the same article lots and lots of times. Spamming is bad. Spamming is evil.

Spamming is usually canceled within a day or so by various anti-spamming agencies. These agencies usually also send out NoCeM messages. NoCeM is pronounced ``no see-'em'', and means what the name implies---these are messages that make the offending articles, like, go away.

What use are these NoCeM messages if the articles are canceled anyway? Some sites do not honor cancel messages and some sites just honor cancels from a select few people. Then you may wish to make use of the NoCeM messages, which are distributed in the `alt.nocem.misc' newsgroup.

Gnus can read and parse the messages in this group automatically, and this will make spam disappear.

There are some variables to customize, of course:


Set this variable to t to set the ball rolling. It is nil by default.


Gnus will look for NoCeM messages in the groups in this list. The default is ("news.lists.filters" "" "alt.nocem.misc" "").


There are many people issuing NoCeM messages. This list says what people you want to listen to. The default is ("Automoose-1" "" "" "" "" " (Richard E. Depew)"); fine, upstanding citizens all of them.

Known despammers that you can put in this list include:


Chris Lewis---Major Canadian despammer who has probably canceled more usenet abuse than anybody else.


The CancelMoose[tm] on autopilot. The CancelMoose[tm] is reputed to be Norwegian, and was the person(s) who invented NoCeM.


John Milburn---despammer located in Korea who is getting very busy these days.

` (Richard E. Depew)'

Richard E. Depew---lone American despammer. He mostly cancels binary postings to non-binary groups and removes spews (regurgitated articles).

You do not have to heed NoCeM messages from all these people---just the ones you want to listen to. You also don't have to accept all NoCeM messages from the people you like. Each NoCeM message has a type header that gives the message a (more or less, usually less) rigorous definition. Common types are `spam', `spew', `mmf', `binary', and `troll'. To specify this, you have to use (issuer conditions ...) elements in the list. Each condition is either a string (which is a regexp that matches types you want to use) or a list on the form (not STRING), where string is a regexp that matches types you don't want to use.

For instance, if you want all NoCeM messages from Chris Lewis except his `troll' messages, you'd say:

("" ".*" (not "troll"))

On the other hand, if you just want nothing but his `spam' and `spew' messages, you'd say:

("" (not ".*") "spew" "spam")

The specs are applied left-to-right.


This should be a function for verifying that the NoCeM issuer is who she says she is. The default is mc-verify, which is a Mailcrypt function. If this is too slow and you don't care for verification (which may be dangerous), you can set this variable to nil.

If you want signed NoCeM messages to be verified and unsigned messages not to be verified (but used anyway), you could do something like:

(setq gnus-nocem-verifyer 'my-gnus-mc-verify)

(defun my-gnus-mc-verify ()
  (not (eq 'forged
             (if (mc-verify)

This might be dangerous, though.


This is where Gnus will store its NoCeM cache files. The default is `~/News/NoCeM/'.


The number of days before removing old NoCeM entries from the cache. The default is 15. If you make it shorter Gnus will be faster, but you might then see old spam.

Using NoCeM could potentially be a memory hog. If you have many living (i. e., subscribed or unsubscribed groups), your Emacs process will grow big. If this is a problem, you should kill off all (or most) of your unsubscribed groups (see Subscription Commands).

PREVDaemons UPVarious NEXTUndo