\e$B$k$+$bCN$l$J$$$1$I!"$=$l$O$4<+M3$K\e(B)\e$B!#\e(B
@example
+@group
Gnus
Emacs
3: comp.emacs
8: comp.binaries.fractals
13: comp.sources.unix
452: alt.sex.emacs
+@end group
@end example
@samp{Emacs} \e$B%H%T%C%/$O%H%T%C%/%Q%i%a!<\e(B
@code{nnslashdot} \e$B%3%a%s%H$K%U%)%m!<%"%C%W\e(B (\e$B$^$?$O?7$7$$%3%a%s%H$NEj9F\e(B)
\e$B$r$9$k$H$-$O!">/$7\e(B @acronym{HTML} \e$B$KJQ49$5$l$^$9!#FC$K!"\e(B@samp{> } \e$B$G0zMQ\e(B
-\e$B$5$l$?%F%-%9%H$O$=$NBe$o$j$K\e(B @code{blockquote} \e$B$G0zMQ$5$l!"=pL>$K$O$=$l\e(B
-\e$B$>$l$N9T$N:G8e$K\e(B @code{br} \e$B$,DI2C$5$l$^$9!#$=$l0J30$O!"%a%C%;!<%8%P%C%U%!\e(B
+\e$B$5$l$?%F%-%9%H$O$=$NBe$o$j$K\e(B @samp{blockquote} \e$B$G0zMQ$5$l!"=pL>$K$O$=$l\e(B
+\e$B$>$l$N9T$N:G8e$K\e(B @samp{br} \e$B$,DI2C$5$l$^$9!#$=$l0J30$O!"%a%C%;!<%8%P%C%U%!\e(B
\e$B$KD>@\\e(B @acronym{HTML} \e$B$r=q$/$3$H$,$G$-$^$9!#\e(BSlashdot \e$B$O$$$/$D\e(B
\e$B$+\e(B @acronym{HTML} \e$B$rA*JL$9$k$3$H$K5$$r$D$1$F$/$@$5$$!#\e(B
@item nnslashdot-comments-url
@vindex nnslashdot-comments-url
\e$B%3%a%s%H$r<hF@$9$k$?$a$K;HMQ$5$l$k\e(B @sc{url} \e$BJ8;zNs$G$9!#=i4|CM\e(B
-\e$B$O\e(B @samp{http://slashdot.org/comments.pl?sid=%s&threshold=%d&commentsort=%d&mode=flat&startat=%d} \e$B$G\e(B
+\e$B$O\e(B @samp{http://slashdot.org/comments.pl?sid=%s&threshold=%d&commentsort=@/%d&mode=flat&startat=%d} \e$B$G\e(B
\e$B$9!#\e(B
@item nnslashdot-article-url
\e$BI8=`$N\e(B overview \e$B%X%C%@!<$NJ8;zNs$HF1MM!"\e(B@code{gnus-extra-headers} \e$B$r;H$C\e(B
\e$B$F$$$k$H!"$=$l$i$N%X%C%@!<$NCM$K%9%3%"$rIU$1$k$3$H$,$G$-$^$9!#$3$N>l9g%9\e(B
\e$B%3%"EPO?$N\e(B 5 \e$BHVL\$NMWAG$,%9%3%"$rIU$1$k%X%C%@!<$NL>A0$K$J$j$^$9!#\e(B
-@acronym{NNTP} \e$B%5!<%P!<$,\e(B overview \e$B$K\e(B NNTP-Posting-Host \e$B$r5-O?$7$F$$$k$J\e(B
-\e$B$i$P!"\e(B@file{all.SCORE} \e$B%U%!%$%k$N0J2<$NEPO?$O!"C10l$N%[%9%H$+$i\e(B spam \e$B$N\e(B
-\e$B967b$,$"$k>l9g$KM-8z$G$9!#\e(B
+@acronym{NNTP} \e$B%5!<%P!<$,\e(B overview \e$B$K\e(B @samp{NNTP-Posting-Host} \e$B$r5-O?$7\e(B
+\e$B$F$$$k$J$i$P!"\e(B@file{all.SCORE} \e$B%U%!%$%k$N0J2<$NEPO?$O!"C10l$N%[%9%H$+\e(B
+\e$B$i\e(B spam \e$B$N967b$,$"$k>l9g$KM-8z$G$9!#\e(B
@lisp
-("111.222.333.444" -1000 nil s "NNTP-Posting-Host")
+("111.222.333.444" -1000 nil s
+ "NNTP-Posting-Host")
@end lisp
@item Lines, Chars
\e$B$9\e(B (@pxref{Fancy Mail Splitting})\e$B!#\e(B
@lisp
-(
- ...
+(...
(to "larsi@@trym.ifi.uio.no"
- (| ("subject" "re:.*" "misc")
- ("references" ".*@@.*" "misc")
- "spam"))
- ...
-)
+ (| ("subject" "re:.*" "misc")
+ ("references" ".*@@.*" "misc")
+ "spam"))
+ ...)
@end lisp
\e$B$3$N0UL#$O!"$3$N%"%I%l%9$KFO$$$?A4$F$N%a!<%k$r$^$:5?$$$^$9$,!"\e(B
'((file :prescript "formail -bs spamassassin < /var/mail/%u")
(pop :user "jrl"
:server "pophost"
- :postscript "mv %t /tmp/foo; formail -bs spamc < /tmp/foo > %t")))
+ :postscript
+ "mv %t /tmp/foo; formail -bs spamc < /tmp/foo > %t")))
@end lisp
\e$B$$$C$?$s!"%a!<%k$r<u$1$k%9%W!<%k$r$I$&$K$+$7$F=hM}$9$k!"Nc$($P\e(B@: \e$B%a!<%k\e(B
(save-excursion
(widen)
(if (eq 1 (call-process-region (point-min) (point-max)
- "spamc" nil nil nil "-c"))
- "spam")))
+ "spamc" nil nil nil "-c"))
+ "spam")))
@end lisp
\e$B$5$i$K\e(B nnimap \e$B%P%C%/%(%s%I$N>l9g!"%G%#%U%)%k%H$G$O5-;v$N%\%G%#$,%@%&%s%m!<\e(B
@example
nnimap-split-fancy '(|
- (any "ding" "ding")
- (: spam-split)
- ;; default mailbox
- "mail")
+ (any "ding" "ding")
+ (: spam-split)
+ ;; default mailbox
+ "mail")
@end example
\e$B$5$F!"LdBj$O\e(B ding \e$B08$F$N%a%C%;!<%8$r$9$Y$F\e(B ding \e$B%U%)%k%@!<$KF~$l$h$&$H$7\e(B
@example
nnimap-split-fancy '(|
;;; spam-use-regex-headers \e$B$G8!=P$5$l$?$9$Y$F$N\e(B spam \e$B$O\e(B "regex-spam" \e$B$X!#\e(B
- (: spam-split "regex-spam" 'spam-use-regex-headers)
- (any "ding" "ding")
+ (: spam-split "regex-spam" 'spam-use-regex-headers)
+ (any "ding" "ding")
;;; spam-split \e$B$G8!=P$5$l$?B>$N$9$Y$F$N\e(B spam \e$B$O\e(B spam-split-group \e$B$X!#\e(B
- (: spam-split)
- ;; default mailbox
- "mail")
+ (: spam-split)
+ ;; default mailbox
+ "mail")
@end example
\e$B4pK\E*$K!"$3$l$OFC$K$"$J$?$NI,MW$K0MB8$7$?FCDj$N\e(B @code{spam-split} \e$B8!\e(B
(lambda (article)
(let ((from (spam-fetch-field-from-fast article)))
(when (stringp from)
- (blackbox-do-something-with-this-spammer from))))
+ (blackbox-do-something-with-this-spammer from))))
;; @r{ham \e$BMQ$N4X?t\e(B}
nil))
(lambda (article)
(let ((from (spam-fetch-field-from-fast article)))
(when (stringp from)
- (blackbox-do-something-with-this-ham-sender from))))))
+ (blackbox-do-something-with-this-ham-sender from))))))
@end lisp
\e$B4X?t\e(B @code{blackbox-do-something-with-this-ham-sender} \e$B$*$h\e(B
@lisp
(setq nnmail-split-fancy
`(| (: spam-stat-split-fancy)
- "mail.misc"))
+ "mail.misc"))
@end lisp
@defvar spam-stat-split-fancy-spam-group
@lisp
(setq nnmail-split-fancy
`(| ("Subject" "\\bspam-stat\\b" "mail.emacs")
- (: spam-stat-split-fancy)
- "mail.misc"))
+ (: spam-stat-split-fancy)
+ "mail.misc"))
@end lisp
\e$B:G=i$K\e(B spam \e$B$N_I2a$r$7$?$$>l9g!"<-=q$r:n$k$H$-$K==J,$KCm0U$7$J$1$l$P$J$j\e(B
(setq nnmail-split-fancy
`(| (: spam-stat-split-fancy)
("Subject" "\\bspam-stat\\b" "mail.emacs")
- "mail.misc"))
+ "mail.misc"))
@end lisp
\e$B$3$l$rEAE}E*$J_I2a$HAH$_9g$o$;$k$3$H$b$G$-$^$9!#$3$3$G$O2f!9$O$9$Y$F\e(B
@lisp
(setq nnmail-split-fancy
`(| ("Content-Type" "text/html" "mail.spam.filtered")
- (: spam-stat-split-fancy)
+ (: spam-stat-split-fancy)
("Subject" "\\bspam-stat\\b" "mail.emacs")
- "mail.misc"))
+ "mail.misc"))
@end lisp
@node Low-level interface to the spam-stat dictionary
@lisp
(setq gnus-parameters
'(("mail\\..*"
- (gnus-show-threads nil)
- (gnus-use-scoring nil))
- ("^nnimap:\\(foo.bar\\)$"
- (to-group . "\\1"))))
+ (gnus-show-threads nil)
+ (gnus-use-scoring nil))
+ ("^nnimap:\\(foo.bar\\)$"
+ (to-group . "\\1"))))
@end lisp
@item
\e$B2<5-$N$h$&$J8E$$MM<0$O;~BeCY$l$K$J$j$^$7$?$,!"$^$@<u$1F~$l$i$l$^$9!#\e(B
@lisp
(header "to" "larsi.*org"
- (Organization "Somewhere, Inc."))
+ (Organization "Somewhere, Inc."))
@end lisp
@item
verb, although you may feel free to disagree with me here.)
@example
+@group
Gnus
Emacs
3: comp.emacs
8: comp.binaries.fractals
13: comp.sources.unix
452: alt.sex.emacs
+@end group
@end example
The @samp{Emacs} topic has the topic parameter @code{(score-file
When following up to @code{nnslashdot} comments (or posting new
comments), some light @acronym{HTML}izations will be performed. In
particular, text quoted with @samp{> } will be quoted with
-@code{blockquote} instead, and signatures will have @code{br} added to
+@samp{blockquote} instead, and signatures will have @samp{br} added to
the end of each line. Other than that, you can just write @acronym{HTML}
directly into the message buffer. Note that Slashdot filters out some
@acronym{HTML} forms.
@vindex nnslashdot-comments-url
The @sc{url} format string that will be used to fetch comments. The
default is
-@samp{http://slashdot.org/comments.pl?sid=%s&threshold=%d&commentsort=%d&mode=flat&startat=%d}.
+@samp{http://slashdot.org/comments.pl?sid=%s&threshold=%d&commentsort=@/%d&mode=flat&startat=%d}.
@item nnslashdot-article-url
@vindex nnslashdot-article-url
gnus-extra-headers, you can score on these headers' values. In this
case, there is a 5th element in the score entry, being the name of the
header to be scored. The following entry is useful in your
-@file{all.SCORE} file in case of spam attacks from a single origin host,
-if your @acronym{NNTP} server tracks NNTP-Posting-Host in overviews:
+@file{all.SCORE} file in case of spam attacks from a single origin
+host, if your @acronym{NNTP} server tracks @samp{NNTP-Posting-Host} in
+overviews:
@lisp
-("111.222.333.444" -1000 nil s "NNTP-Posting-Host")
+("111.222.333.444" -1000 nil s
+ "NNTP-Posting-Host")
@end lisp
@item Lines, Chars
(@pxref{Fancy Mail Splitting}):
@lisp
-(
- ...
+(...
(to "larsi@@trym.ifi.uio.no"
- (| ("subject" "re:.*" "misc")
- ("references" ".*@@.*" "misc")
- "spam"))
- ...
-)
+ (| ("subject" "re:.*" "misc")
+ ("references" ".*@@.*" "misc")
+ "spam"))
+ ...)
@end lisp
This says that all mail to this address is suspect, but if it has a
'((file :prescript "formail -bs spamassassin < /var/mail/%u")
(pop :user "jrl"
:server "pophost"
- :postscript "mv %t /tmp/foo; formail -bs spamc < /tmp/foo > %t")))
+ :postscript
+ "mv %t /tmp/foo; formail -bs spamc < /tmp/foo > %t")))
@end lisp
Once you manage to process your incoming spool somehow, thus making