;; @r{\e$B%(%i!<$G$J$$%a%C%;!<%8$OA4$F$N4XO"$7$?%0%k!<%W$KAj8_Ej9F$5$l$^\e(B}
;; @r{\e$B$9$,!"\e(B(ding) \e$B%j%9%H$HB>$N\e(B (ding) \e$B4XO"$N%a!<%k$N$?$a$N%0%k!<%W$K\e(B}
;; @r{\e$B$OAj8_Ej9F$7$^$;$s!#\e(B}
- (& (| (any "ding@@ifi\\.uio\\.no" "ding.list" "ding.list")
+ (& (| (any "ding@@ifi\\.uio\\.no" "ding.list")
("subject "ding" "ding.misc"))
;; @r{\e$BB>$N%a!<%j%s%0%j%9%H\e(B@dots{}}
(any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list")
\e$B$9!#$=$l$,>e5-$NNc$G\e(B @code{save-excursion} \e$B$H\e(B @code{save-restriction} \e$B$N\e(B
\e$B8e$G\e(B @code{(widen)} \e$B$,8F$P$l$kI,MW$,$"$kM}M3$G$9!#$5$i$K\e(B nnimap \e$B%P%C%/%(\e(B
\e$B%s%I$N>l9g!"%G%#%U%)%k%H$G$O5-;v$N%\%G%#$,%@%&%s%m!<%I$5$l$J$$$3$H$KCm0U\e(B
-\e$B$7$F2<$5$$!#$=$l$r$9$k$?$a$K$O\e(B @code{nnimap-split-download-body} \e$B$r\e(B t \e$B$K\e(B
-\e$B@_Dj$9$kI,MW$,$"$j$^$9\e(B (@pxref{Splitting in IMAP})\e$B!#\e(B
+\e$B$7$F2<$5$$!#$=$l$r$9$k$?$a$K\e(B
+\e$B$O\e(B @code{nnimap-split-download-body} \e$B$r\e(B @code{t} \e$B$K@_Dj$9$kI,MW$,$"$j$^\e(B
+\e$B$9\e(B (@pxref{Splitting in IMAP})\e$B!#\e(B
@item (! @var{func} @var{split})
\e$BJ,3d$,%j%9%H$G!":G=i$NMWAG$,\e(B @code{!} \e$B$G$"$k$H\e(B @var{split} \e$B$,<B9T$5$l!"\e(B
\e$B<h$k$N$J$i$P!"\e(B@samp{vmadmin.com} \e$B$rAK;_$9$l$P$h$m$7$$!#\e(B
@samp{\e$B%P%$%"%0%i\e(B} \e$B$K4X$9$k%a%C%;!<%8$r\e(B 200\e$BDL<u$1<h$k$N$J$i$P!"\e(B
@samp{\e$B%P%$%"%0%i\e(B} \e$B$r4^$`$9$Y$F$N%a%C%;!<%8$r<N$F$F$7$^$($P$h$m$7$$!#Nc$(\e(B
-\e$B$P!"Cf9q$+$i$?$/$5$s$N\e(B spam \e$B$,$d$C$FMh$k$N$J$i$P!"Cf9q$N\e(B IP \e$B$+$iMh$k$9$Y\e(B
-\e$B$F$N%a!<%k$r_I2a$9$l$P$h$m$7$$!#\e(B
+\e$B$P%V%k%,%j%"$+$i$?$/$5$s$N\e(B spam \e$B$,$d$C$FMh$k$N$J$i$P!"%V%k%,%j%"$N\e(B IP \e$B$+\e(B
+\e$B$iMh$k$9$Y$F$N%a!<%k$r_I2a$9$l$P$h$m$7$$!#\e(B
+
+\e$B$3$l$O!";DG0$J$,$i@5Ev$JEE;R%a!<%k$r<N$F$k$?$a$N$9$0$l$?J}K!$G$9!#$"$J$?\e(B
+\e$B$K@\?($7$h$&$H$9$k9q\e(B (\e$B%V%k%,%j%"!"%N%k%&%'!<!"%J%$%8%'%j%"!"Cf9q!"Ey\e(B) \e$BA4\e(B
+\e$BBN!"$^$?$OBgN&\e(B (\e$B%"%8%"!"%"%U%j%+!"%h!<%m%C%Q!"Ey\e(B) \e$B$5$($bIu$89~$a$F$7$^$&\e(B
+\e$B4m81$OL@$i$+$J$N$G!"$"$J$?$KA*Br8"$,$"$k$N$J$i$P!"$=$s$J$3$H$O$7$J$$$G2<\e(B
+\e$B$5$$!#\e(B
-\e$B$3$l$O!";DG0$J$,$i@5Ev$JEE;R%a!<%k$r<N$F$k$?$a$N$9$0$l$?J}K!$G$9!#Nc$($P!"\e(B
-\e$B$H$F$b<(:6$KIY$s$GM-1W$J\e(B RISKS \e$B%@%$%8%'%9%H$O!"$=$l$,\e(B spam \e$B%a%C%;!<%8$H\e(B
-\e$B6&DL$N8l$r\e(B @strong{\e$B4^$s$G\e(B} \e$B$$$k$?$a$K!"G.?4$9$.$k%a!<%k_I2a4o$K$h$C$FAK\e(B
-\e$B;_$5$l$F$7$^$$$^$9!#$"$J$?$K@\?($7$h$&$H$9$kCO0hA4BN$rIu$89~$a$F$7$^$&4m\e(B
-\e$B81$bL@$i$+$G$9!#$G$9$+$i!"$"$J$?$KA*Br8"$,$"$k$N$J$i$P!"$=$s$J$3$H$O$7$J\e(B
-\e$B$$$G2<$5$$!#$=$l$G$b$J$*8IN)$7$?4D6-$G$O!"Cm0U?<$/;H$&$3$H$K$h$C$FD>@\$N\e(B
-\e$B_I2a$OM-1W$K$J$jF@$^$9!#\e(B
+\e$B$b$&0l$D$NNc$H$7$F!"$H$F$b<(:6$KIY$s$GM-1W$J\e(B RISKS \e$B%@%$%8%'%9%H$O!"$=$l\e(B
+\e$B$,\e(B spam \e$B%a%C%;!<%8$H6&DL$N8l$r\e(B @strong{\e$B4^$s$G\e(B} \e$B$$$k$?$a$K!"G.?4$9$.$k%a!<\e(B
+\e$B%k_I2a4o$K$h$C$FAK;_$5$l$F$7$^$$$^$9!#$=$l$G$b$J$*8IN)$7$?4D6-$G$O!"Cm0U\e(B
+\e$B?<$/;H$&$3$H$K$h$C$FD>@\$N_I2a$OM-1W$K$J$jF@$^$9!#\e(B
\e$B$b$&0l$D$NEE;R%a!<%k_I2a$X$N<h$jAH$_$OJ,;67?\e(B spam \e$B=hM}$G!"\e(BDCC (\e$BLuCm\e(B:
Distributed Checksum Clearinghouse --
\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
\e$B%I$5$l$J$$$3$H$KCm0U$7$F2<$5$$!#$=$l$r$9$k$?$a$K$O!"\e(B
-@code{nnimap-split-download-body} \e$B$r\e(B t \e$B$K@_Dj$9$kI,MW$,$"$j$^\e(B
+@code{nnimap-split-download-body} \e$B$r\e(B @code{t} \e$B$K@_Dj$9$kI,MW$,$"$j$^\e(B
\e$B$9\e(B (@pxref{Splitting in IMAP})\e$B!#\e(B
\e$B0J>e$,$3$l$K4X$9$k$3$H$G$9!#$$$/$D$+$N\e(B spam \e$B$O$I$&$7$F$bAGDL$j$7$F$7$^$&\e(B
@cindex spam filtering sequence of events
@cindex spam
-\e$BI,$:$3$N9`$rFI$s$G2<$5$$!#\e(B@code{spam.el} \e$B$NF0:n$rM}2r$9$k$?$a$K!#FI$_Ht\e(B
-\e$B$P$7!"B.FI!"<P$aFI$_$O876X$G$9!#\e(B
+\e$B$I$N$h$&$K\e(B @code{spam.el} \e$B$,F/$/$+$rM}2r$9$k$?$a$K!"I,$:$3$N9`$rFI$s$G2<\e(B
+\e$B$5$$!#FI$_Ht$P$7!"B.FI!"$^$?$O<P$aFI$_$7$F$O$$$1$^$;$s!#\e(B
-\e$B$"$J$?$,0U?^$9$k$J$i$P\e(B @code{spam.el} \e$B$H\e(B Gnus \e$B$NB>$NItJ,$N4V$KFs$D$N@\E@\e(B
-\e$B$,$"$j$^$9\e(B: spam \e$B$N$?$a$N?7Ce%a!<%k$N8!::!"$*$h$S%0%k!<%W$rH4$1$k>l9g$G\e(B
-\e$B$9!#\e(B
+@code{spam.el} \e$B$H\e(B Gnus \e$B$N4V$K$O!"Fs$D$N\e(B @emph{\e$B@\E@\e(B} \e$B$,$"$k$H9M$($i$l$^$9!#\e(B
+Spam \e$B$N$?$a$K?7Ce%a!<%k$r8!::$9$k$H$-!"$*$h$S%0%k!<%W$rH4$1$k$H$-$G$9!#\e(B
-\e$B?7Ce%a!<%k$N<hF@$OFs$D$N$&$A$N0lJ}$G9T$J$o$l$^$9!#$d$C$FCe$?%a!<%k$rJ,3d\e(B
-\e$B$7$?$j!"%0%k!<%W$KF~$k$H$-$K?7$7$$5-;v$r\e(B ham \e$B$H\e(B spam \e$B$KJ,N`$9$k$3$H$,$G\e(B
-\e$B$-$^$9!#\e(B
+\e$B?7Ce%a!<%k$N<hF@$O!"Fs$D$NJ}K!$N0lJ}$G9T$J$o$l$^$9!#?7Ce%a!<%k$rJ,3d$9$k\e(B
+\e$B$+!"%0%k!<%W$KF~$k$H$-$K?7$7$$5-;v$r\e(B ham \e$B$H\e(B spam \e$B$KJ,N`$9$k$+$N!"$I$A$i\e(B
+\e$B$G$b2DG=$G$9!#\e(B
-\e$B$d$C$FMh$?%a!<%k$NJ,3d$O!"\e(B@code{nnml} \e$B$d\e(B @code{nnimap} \e$B$N$h$&$J!"?7$7$$\e(B
-\e$B%a!<%k$,\e(B @dfn{Spool File} \e$B$H8F$P$l$k0l$D$N%U%!%$%k$K$J$k%P%C%/%(%s%I$K!"\e(B
-\e$B$h$jE,$7$F$$$^$9!#\e(B
-@xref{Spam ELisp Package Filtering of Incoming Mail} \e$B$r;2>H$7$F2<$5$$!#\e(B
+\e$B?7Ce%a!<%k$NJ,3d$O!"\e(B@code{nnml} \e$B$d\e(B @code{nnimap} \e$B$N$h$&$K!"?7$7$$%a!<%k\e(B
+\e$B$,\e(B @dfn{Spool File} \e$B$H8F$P$l$k0l$D$N%U%!%$%k$K$J$k%P%C%/%(%s%I$K!"$h$jE,\e(B
+\e$B$7$F$$$^$9!#\e(B@xref{Spam ELisp Package Filtering of Incoming Mail} \e$B$r;2>H\e(B
+\e$B$7$F2<$5$$!#\e(B
-@code{nntp} \e$B$N$h$&$J%P%C%/%(%s%I$K$O$d$C$FMh$k%a!<%k$N%9%W!<%k$,L5$$$N$G!"\e(B
-\e$BBe$o$j$N5!9=$r;H$o$J$1$l$P$J$j$^$;$s!#$3$l$O!"%5!<%P!<$,$d$C$FMh$?%a!<%k\e(B
-\e$B$NJ,3d$rC4Ev$7$F$$$F!"\e(BGnus \e$B$,$5$i$KJ,3d$r9T$J$o$J$$%P%C%/%(%s%I$G$b5/$-\e(B
-\e$B$k$+$b$7$l$^$;$s!#%0%k!<%W%Q%i%a!<\e(B
+@code{nntp} \e$B$N$h$&$J%P%C%/%(%s%I$K$O?7Ce%a!<%k$N%9%W!<%k$,L5$$$N$G!"Be$o\e(B
+\e$B$j$N5!9=$r;H$o$J$1$l$P$J$j$^$;$s!#$3$l$O!"%5!<%P!<$,?7Ce%a!<%k$NJ,3d$rC4\e(B
+\e$BEv$7$F$$$F!"\e(BGnus \e$B$,$5$i$K$^$?J,3d$r9T$J$o$J$$%P%C%/%(%s%I$G$b!"\e(B(\e$BBe$o$j$N\e(B
+\e$B5!9=$,\e(B) \e$BI,MW$K$J$k$+$b$7$l$^$;$s!#%0%k!<%W%Q%i%a!<\e(B
\e$B%?\e(B @code{spam-autodetect} \e$B$H\e(B @code{spam-autodetect-methods} (\e$BIaDL\e(B @kbd{G
-c} and @kbd{G p} \e$B$GA`:n2D\e(B)\e$B!"$=$7$FBP1~$9$kJQ\e(B
+c} and @kbd{G p} \e$B$GA`:n2D\e(B)\e$B!"$=$7$F$=$l$i$KBP1~$9$kJQ\e(B
\e$B?t\e(B @code{gnus-spam-autodetect-methods} \e$B$*$h\e(B
\e$B$S\e(B @code{gnus-spam-autodetect-methods} (@kbd{M-x customize-variable} \e$B$G\e(B
-\e$BA`:n2D\e(B) \e$B$G$9!#\e(B
-
-@code{spam-autodetect} \e$B$,;H$o$l$k>l9g!"$=$l$O%0%k!<%W$KF~$k=hM}$K0z$C$+\e(B
-\e$B$1$i$l$^$9!#$7$?$,$C$F!"$^$@FI$^$l$?$3$H$,L5$$!"$^$?$OL$FI$N5-;v$,$"$k%0\e(B
-\e$B%k!<%W$KF~$k$3$H$O!"$d$C$FMh$?%a!<%k$N8!::$NBe$o$j$K$J$j$^$9!#$^$@FI$^$l\e(B
-\e$B$?$3$H$,L5$$5-;v!"$^$?$O$9$Y$F$NL$FI$N5-;v$,=hM}$5$l$k$+$I$&$+$O!"\e(B
-@code{spam-autodetect-recheck-messages} \e$B$K$h$C$F7h$^$j$^$9!#\e(Bt \e$B$K@_Dj$5$l\e(B
-\e$B$k$H!"L$FI$N%a%C%;!<%8$,:F8!::$5$l$^$9!#\e(B
-
-@code{spam-autodetect} \e$B$O!"%f!<%6$K\e(B spam \e$B_I2a$NB?>/$N4IM}$rB(9oG'$a$^$9!#\e(B
-\e$B%f!<%6$O3F%0%k!<%W$N\e(B spam \e$B$N<jCJ$r$h$jB?$/4IM}$9$k$3$H$,$G$-$k$G$7$g$&!#\e(B
-\e$B$7$?$,$C$F!"\e(B@samp{suspect} \e$B%0%k!<%W$G\e(B @code{spam-use-blacklist} \e$B$*$h\e(B
-\e$B$S\e(B @code{spam-use-bogofilter} \e$B$N<jCJ$,M-8z$K$J$C$F$$$F$b!"\e(B
-\e$BNc$($P\e(B @samp{ding} \e$B%0%k!<%W$O<+F08!CN<jCJ$H$7$F\e(B @code{spam-use-BBDB} \e$B$r\e(B
-\e$B;}$D$3$H$,$G$-$^$9!#\e(BSpam \e$B$H$7$F8!CN$5$l$k$9$Y$F$N5-;v$K\e(B
-\e$B$O\e(B spam \e$B0u\e(B @samp{$}\e$B$,IU$1$i$l!"%0%k!<%W$rH4$1$k$H$-$KDL>o$N\e(B spam \e$B$H$7$F\e(B
-\e$B=hM}$5$l$^$9!#H`$,\e(B @code{spam-split} \e$B$G9T$J$C$F$bNI$$$h$&$K!"%f!<%6$O8!\e(B
-\e$B::$N\e(B @emph{sequence} \e$B$r$h$j>/$J$/4IM}$7$^$9!#\e(B
+\e$BA`:n2D\e(B) \e$B$,$=$&$G$9!#\e(B
+
+@code{spam-autodetect} \e$B$,;H$o$l$k>l9g!"$=$l$O%0%k!<%W$KF~$k\e(B (\e$B$=$N%0%k!<\e(B
+\e$B%W$N35N,%P%C%U%!$K0\F0$9$k\e(B) \e$B=hM}$K$*$$$F<B9T$5$l$^$9!#$7$?$,$C$F!"$^$@FI\e(B
+\e$B$^$l$?$3$H$,L5$$!"$^$?$OL$FI$N5-;v$,$"$k%0%k!<%W$KF~$k$3$H$O!"?7Ce%a!<%k\e(B
+\e$B$N8!::$NBe$o$j$K$J$j$^$9!#$^$@FI$^$l$?$3$H$,L5$$5-;v!"$^$?$O$9$Y$F$NL$FI\e(B
+\e$B$N5-;v$,=hM}$5$l$k$+$I$&$+$O!"\e(B@code{spam-autodetect-recheck-messages} \e$B$K\e(B
+\e$B$h$C$F7h$^$j$^$9!#\e(B@code{t} \e$B$K@_Dj$5$l$k$H!"L$FI$N%a%C%;!<%8$,:F8!::$5$l\e(B
+\e$B$^$9!#\e(B
+
+@code{spam-autodetect} \e$B$O!"B?>/$J$j$H$b\e(B spam \e$B_I2a$N4IM}$r%f!<%6$K5v2D$7\e(B
+\e$B$^$9!#%f!<%6$O3F%0%k!<%W$N\e(B spam \e$B8!=P$N<jCJ$r$h$jB?$/4IM}$9$k$3$H$,$G$-$k\e(B
+\e$B$G$7$g$&!#$7$?$,$C$F!"\e(B@samp{\e$B5?$o$7$$\e(B} (@samp{suspect}) \e$B%0%k!<%W\e(B
+\e$B$G\e(B @code{spam-use-blacklist} \e$B$*$h$S\e(B @code{spam-use-bogofilter} \e$B$N<jCJ$,\e(B
+\e$BM-8z$K$J$C$F$$$F$b!"Nc$($P\e(B @samp{ding} \e$B%0%k!<%W$O<+F08!=P<jCJ$H$7\e(B
+\e$B$F\e(B @code{spam-use-BBDB} \e$B$r;}$D$3$H$,$G$-$^$9!#\e(BSpam \e$B$H$7$F8!=P$5$l$k$9$Y\e(B
+\e$B$F$N5-;v$K$O\e(B spam \e$B0u\e(B @samp{$}\e$B$,IU$1$i$l!"%0%k!<%W$rH4$1$k$H$-$KDL>o\e(B
+\e$B$N\e(B spam \e$B$H$7$F=hM}$5$l$^$9!#H`$,\e(B @code{spam-split} \e$B$G9T$J$C$F$bNI$$$h$&\e(B
+\e$B$K!"%f!<%6$O8!::$N\e(B @emph{sequence} \e$B$r$h$j>/$J$/4IM}$7$^$9!#\e(B
\e$B?7$?$KJ,3d$5$l$?%a!<%k$,%0%k!<%W$KF~$C$?!"$^$?$O%a%C%;!<%8$,\e(B ham \e$B$^$?\e(B
-\e$B$O\e(B spam \e$B$H$7$F<+F08!CN$5$l$?>l9g!"8e$K\e(B spam \e$B=hM}$r9T$J$o$;$k$?$a$K!"$=$l\e(B
+\e$B$O\e(B spam \e$B$H$7$F<+F08!=P$5$l$?>l9g!"8e$K\e(B spam \e$B=hM}$r9T$J$o$;$k$?$a$K!"$=$l\e(B
\e$B$i$N%0%k!<%W$r\e(B (\e$BI,MW$J$iF~$C$?8e$G\e(B) \e$BH4$1=P$J$/$F$O$J$j$^$;$s!#%0%k!<%W$,\e(B
\e$B$=$N\e(B @code{spam-content} \e$B%Q%i%a!<%?\e(B (@pxref{Spam ELisp Package Global
Variables}) \e$B$K4p$E$$$F\e(B ham \e$B$^$?$O\e(B spam \e$B%0%k!<%W$H9M$($i$l$k$+!"L$J,N`$+\e(B
\e$B$I$&$+$O=EMW$G$9!#\e(BSpam \e$B%0%k!<%W$O!"$=$3$KF~$k$H!"$^$@FI$^$l$?$3$H$,L5$$!"\e(B
\e$B$^$?$OL$FI$N5-;v$K\e(B spam \e$B$N0u$,IU$1$i$l$k\e(B (\e$BJQ\e(B
-\e$B?t\e(B @code{spam-mark-only-unseen-as-spam} \e$B$K0MB8\e(B) \e$B$H$$$&DI2C$NFC@-$r;}$A$^\e(B
-\e$B$9!#$3$N$h$&$K!"J,3d$5$l$F\e(B spam \e$B%0%k!<%W$KF~$l$i$l$?5-;v$K$O!"$"$J$?$,$=\e(B
-\e$B$N%0%k!<%W$KF~$C$?$H$-$K<+F0E*$K\e(B spam \e$B$N0u$,IU$1$i$l$^$9!#\e(B
+\e$B?t\e(B @code{spam-mark-only-unseen-as-spam} \e$B$K0MB8\e(B) \e$B$H$$$&IU2CE*$JFC@-$r;}$A\e(B
+\e$B$^$9!#$3$N$h$&$K!"J,3d$5$l$F\e(B spam \e$B%0%k!<%W$KF~$l$i$l$?5-;v$K$O!"$"$J$?$,\e(B
+\e$B$=$N%0%k!<%W$KF~$C$?$H$-$K<+F0E*$K\e(B spam \e$B$N0u$,IU$1$i$l$^$9!#\e(B
-\e$B$7$?$,$C$F!"%0%k!<%W$rH4$1$k$H\e(B @code{spam-processors} \e$B$,\e(B (\e$B2?$G$"$l@_Dj$5\e(B
-\e$B$l$F$$$l$P\e(B) \e$BE,MQ$5$l!"=hM}$5$l$?%a!<%k$O5-;v$NJ,N`$K4p$E$$\e(B
+\e$B$7$?$,$C$F!"%0%k!<%W\e(B (\e$B$N35N,%P%C%U%!\e(B) \e$B$rH4$1$k\e(B
+\e$B$H\e(B @code{spam-processors} \e$B$,\e(B (\e$B2?$G$"$l@_Dj$5$l$F$$$l$P\e(B) \e$BE,MQ$5$l!"=hM}$5\e(B
+\e$B$l$?%a!<%k$O5-;v$NJ,N`$K4p$E$$\e(B
\e$B$F\e(B @code{ham-process-destination} \e$B$+\e(B @code{spam-process-destination} \e$B$K\e(B
\e$B0\F0$5$;$i$l$^$9!#\e(B@code{ham-process-destination} \e$B$^$?\e(B
-\e$B$O\e(B @code{spam-process-destination} \e$B$N$I$A$i$+$,\e(B (\e$BLuCp\e(B: \e$B0\F0@h$H$7$F\e(B) \e$BE,\e(B
-\e$B@Z$G!"$=$l$i$,\e(B nil \e$B$@$C$?>l9g!"$=$N5-;v$O8=:_$N%0%k!<%W$K;D$5$l$^$9!#\e(B
+\e$B$O\e(B @code{spam-process-destination} \e$B$N$I$A$i$+$,\e(B (\e$BLuCp\e(B: \e$B0\F0@h$H$7$F\e(B) \e$B$U\e(B
+\e$B$5$o$7$$>l9g$G$b!"$=$l$i$,\e(B @code{nil} \e$B$@$C$?>l9g!"$=$N5-;v$O8=:_$N%0%k!<\e(B
+\e$B%W$K;D$5$l$^$9!#\e(B
\e$B$I$l$+$N%0%k!<%W$G\e(B spam \e$B$,8+$D$+$C$?$i\e(B (\e$BHs\e(B-spam \e$B%0%k!<%W$K8B$C\e(B
-\e$B$F\e(B @code{spam-move-spam-nonspam-groups-only} \e$B$GJQ992D\e(B)\e$B!"%0%k!<%W$rH4$1$k\e(B
-\e$B$H$-$K3h$-$F$$$k\e(B @code{spam-processors} (@pxref{Spam ELisp Package
+\e$B$F$O\e(B @code{spam-move-spam-nonspam-groups-only} \e$B$GJQ992D\e(B)\e$B!"%0%k!<%W$rH4$1\e(B
+\e$B$k$H$-$K3h$-$F$$$k\e(B @code{spam-processors} (@pxref{Spam ELisp Package
Global Variables}) \e$B$G=hM}$5$l$^$9!#$5$i$K!"8e$G%H%l!<%K%s%0$^$?$O:o=|$9\e(B
\e$B$k$?$a$K!"\e(Bspam \e$B$O\e(B @code{spam-process-destination} (@pxref{Spam ELisp
Package Global Variables}) \e$B$K0\F0$5$;$i$l$^$9!#\e(BSpam \e$B$,:F;0=hM}$5$l$k$3$H\e(B
\e$B$rK>$^$J$$$J$i$P!"\e(B@file{gnus-registry.el} \e$B%Q%C%1!<%8$rFI$_9~$_!"\e(B
@code{spam-log-to-registry} \e$BJQ?t$rM-8z$K$7$J$1$l$P$J$j$^$;$s!#$3$N$h$&\e(B
-\e$B$K\e(B spam \e$B$O$I$3$G$b8!CN$5$l=hM}$5$l$^$9!#$=$l$O$[$H$s$I$N?M!9$,K>$`$b$N$G\e(B
-\e$B$9!#\e(B@code{spam-process-destination} \e$B$,\e(B nil \e$B$@$C$?>l9g!"\e(Bspam \e$B$K$O4|8B@Z$l\e(B
-\e$B>C5n$N0u$,IU$1$i$l$^$9!#IaDL$=$l$O@5$7$$9T$J$$$G$9!#\e(B
+\e$B$K\e(B spam \e$B$O$I$3$G$b8!=P$5$l=hM}$5$l$^$9!#$=$l$O$[$H$s$I$N?M!9$,!"$=$&$7$?\e(B
+\e$B$$$H;W$&$3$H$G$9!#\e(B@code{spam-process-destination} \e$B$,\e(B @code{nil} \e$B$@$C$?>l\e(B
+\e$B9g!"\e(Bspam \e$B$K$O4|8B@Z$l>C5n$N0u$,IU$1$i$l$^$9!#IaDL$=$l$O@5$7$$9T$J$$$G$9!#\e(B
-Spam \e$B$,0\F0$G$-$J$$>l9g\e(B (\e$BNc$($P\e(B NNTP \e$B$N$h$&$JFI$_9~$_@lMQ%P%C%/%(%s%I$N\e(B
-\e$B$?$a$K\e(B)\e$B!"$=$l$O%3%T!<$5$l$^$9!#\e(B
+Spam \e$B$,0\F0$G$-$J$$>l9g\e(B (\e$BNc$($P\e(B @acronym{NNTP} \e$B$N$h$&$JFI$_9~$_@lMQ%P%C\e(B
+\e$B%/%(%s%I$G$"$k$?$a$K\e(B)\e$B!"$=$l$O%3%T!<$5$l$^$9!#\e(B
Ham \e$B%0%k!<%W$G\e(B @code{ham-marks} \e$B%Q%i%a!<%?$G7hDj$5$l$k\e(B ham \e$B%a!<%k$,8+$D\e(B
\e$B$+$C$?$i!"%0%k!<%W$rH4$1$k$H$-$K3h$-$F$$$k\e(B ham @code{spam-processor} \e$B$G\e(B
\e$B$?\e(B ham \e$B$G$b=hM}$G$-$k$h$&$KF0:n$rJQ99$9$k$3$H$,$G$-$^$9!#\e(BHam \e$B$,:F;0=hM}\e(B
\e$B$5$l$k$3$H$rK>$^$J$$$J$i$P!"\e(B@file{gnus-registry.el} \e$B%Q%C%1!<%8$rFI$_9~$_!"\e(B
@code{spam-log-to-registry} \e$BJQ?t$rM-8z$K$7$J$1$l$P$J$j$^$;$s!#$3$N$h$&\e(B
-\e$B$K\e(B ham \e$B$OI,MW$J>l9g$@$18!CN$5$l=hM}$5$l$^$9!#$=$l$O$[$H$s$I$N?M!9$,K>$`\e(B
-\e$B$b$N$G$9!#$3$l$K4X$9$k>\:Y$O\e(B @xref{Spam ELisp Package Configuration
-Examples}.
+\e$B$K\e(B ham \e$B$OI,MW$J>l9g$@$18!=P$5$l=hM}$5$l$^$9!#$=$l$O$[$H$s$I$N?M!9$,!"$=\e(B
+\e$B$&$7$?$$$H;W$&$3$H$G$9!#$3$l$K4X$9$k>\:Y$O\e(B @xref{Spam ELisp Package
+Configuration Examples}.
-Ham \e$B$,0\F0$G$-$J$$>l9g\e(B (\e$BNc$($P\e(B NNTP \e$B$N$h$&$JFI$_9~$_@lMQ%P%C%/%(%s%I$N$?\e(B
-\e$B$a$K\e(B)\e$B!"$=$l$O%3%T!<$5$l$^$9!#\e(B
+Ham \e$B$,0\F0$G$-$J$$>l9g\e(B (\e$BNc$($P\e(B @acronym{NNTP} \e$B$N$h$&$JFI$_9~$_@lMQ%P%C%/\e(B
+\e$B%(%s%I$G$"$k$?$a$K\e(B)\e$B!"$=$l$O%3%T!<$5$l$^$9!#\e(B
-\e$B$3$l$i$9$Y$F$,$o$1$,$o$+$i$J$/$F$b!"?4G[$OL5MQ$G$9\e(B (\e$BLuCm\e(B: \e$B$G$bLuJ8$,@53N\e(B
-\e$B$G$O$J$$$+$b$7$l$J$$$N$G!"JQ$@$H;W$C$?$i86J8$r;2>H$N$3$H\e(B :-p)\e$B!#$9$0$K$=\e(B
-\e$B$l$O?@7P%$%s%?!<%U%'!<%9>e$K\e(B Lisp \e$B<0$r%?%$%W$9$k$h$&$K<+A3$J$3$H$K$J$j$^\e(B
-\e$B$9\e(B... \e$B$(!+$4$a$s!"$=$l$K$O$^$@\e(B 50\e$BG/Aa$$$G$9$M!#$?$@;d$?$A$r?.Mj$7$F2<$5\e(B
-\e$B$$!#$=$l$O<N$F$?$b$N$G$O$"$j$^$;$s!#\e(B
+\e$B$3$l$i$N$9$Y$F$,$o$1$,$o$+$i$J$/$F$b!"?4G[$OMW$j$^$;$s\e(B (\e$BLuCm\e(B: \e$B$G$bLuJ8$,\e(B
+\e$B@53N$G$O$J$$$+$b$7$l$J$$$N$G!"JQ$@$H;W$C$?$i86J8$r8+$F$M\e(B :-p)\e$B!#$9$0$K$=\e(B
+\e$B$l$O?@7P%$%s%?!<%U%'!<%9>e$K\e(B Lisp \e$B$G>.OC$r=q$/$h$&$K<+A3$J$3$H$K$J$j$^\e(B
+\e$B$9\e(B@dots{} \e$B$(!+$4$a$s!"$=$l$K$O$^$@\e(B 50\e$BG/Aa$$$G$9$M!#$?$@;d$?$A$r?.Mj$7$F\e(B
+\e$B2<$5$$!#$=$l$O<N$F$?$b$N$G$O$"$j$^$;$s!#\e(B
@node Spam ELisp Package Filtering of Incoming Mail
@subsubsection Spam ELisp Package Filtering of Incoming Mail
\e$B$F42MF$+$I$&$+$K0MB8$9$k$G$7$g$&!#\e(B
\e$B$^$?!"\e(B@code{spam-split} \e$B$K%Q%i%a!<%?!"Nc$(\e(B
-\e$B$P\e(B @samp{spam-use-regex-headers} \e$B$^$?$O\e(B @samp{"maybe-spam"} \e$B$rM?$($k$3$H\e(B
+\e$B$P\e(B @code{spam-use-regex-headers} \e$B$^$?$O\e(B @code{"maybe-spam"} \e$B$rM?$($k$3$H\e(B
\e$B$b$G$-$^$9!#$J$<$3$l$,M-MQ$J$N$G$7$g$&$+\e(B?
\e$B$3$l$i$N\e(B (@code{spam-use-regex-headers} \e$B$H\e(B @code{spam-use-blackholes} \e$B$N\e(B
nnimap-split-fancy '(|
(any "ding" "ding")
(: spam-split)
- ;; default mailbox
+ ;; @r{\e$B%G%#%U%)%k%H$N%a!<%k%\%C%/%9!#\e(B}
"mail")
@end example
@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
+;;; @r{@code{spam-use-regex-headers} \e$B$G8!=P$5$l$?$9$Y$F$N\e(B spam \e$B$O\e(B @samp{regex-spam} \e$B$X!#\e(B}
(: 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
+;;; @r{spam-split \e$B$G8!=P$5$l$?B>$N$9$Y$F$N\e(B spam \e$B$O\e(B @code{spam-split-group} \e$B$X!#\e(B}
(: spam-split)
- ;; default mailbox
+ ;; @r{\e$B%G%#%U%)%k%H$N%a!<%k%\%C%/%9!#\e(B}
"mail")
@end example
\e$B$F=hM}$7$^$9!#\e(B
Spam \e$B$^$?$O\e(B ham \e$B%W%m%;%C%5!<$r;XDj$9$k7A<0$r!"$+$D$F$O%7%s%\%k$GI=$7$F$$\e(B
-\e$B$?$N$G$9$,!"8=:_$O\e(B cons \e$B%;%k$K$J$C$F$$$^$9!#>\$7$/$O8D!9$N\e(B spam \e$B%W%m%;%C\e(B
-\e$B%5!<$N9`$r;2>H$7$F2<$5$$!#\e(B
+\e$B$?$N$G$9$,!"8=:_$O\e(B @sc{cons} \e$B%;%k$K$J$C$F$$$^$9!#>\$7$/$O8D!9$N\e(B spam \e$B%W\e(B
+\e$B%m%;%C%5!<$N9`$r;2>H$7$F2<$5$$!#\e(B
@vindex gnus-spam-newsgroup-contents
gnus \e$B$O$"$J$?$,<u$1<h$C$?\e(B spam \e$B$+$i3X$S$^$9!#$"$J$?$O0l$D0J>e$N\e(B spam \e$B%0\e(B
@code{ham-process-destination} \e$B%0%k!<%W%Q%i%a!<%?\e(B
\e$B$+\e(B @code{gnus-ham-process-destinations} \e$BJQ?t$N$I$A$i$+$K9gCW$9$k>l=j$K0\\e(B
\e$B$5$l$^$9!#$=$l$i$O%0%k!<%WL>$K9gCW$9$k@55,I=8=$N%j%9%H$G\e(B
-\e$B$9\e(B (@code{customize-variable gnus-ham-process-destinations} \e$B$K$h$C$F$3$N\e(B
-\e$BJQ?t$r%+%9%?%^%$%:$9$k$N$,:G$b4JC1$G$9\e(B)\e$B!#JQ?t$r<j$G%+%9%?%^%$%:$9$kJ}$,\e(B
-\e$B9%$-$J?M$N$?$a$K8@$C$F$*$/$H!"$=$l$i$OIaDL$N\e(B Lisp \e$B$N\e(B list \e$B$G!"$=$l$>$l$N\e(B
-\e$B%K%e!<%9%0%k!<%W$N;EMM@_Dj$O\e(B @code{(REGEXP PROCESSOR)} \e$B$N7A<0$NCM$r;}$A\e(B
-\e$B$^$9!#:G=*E*$J>l=j$O\e(B (\e$BC1?t$^$?$OJ#?t$N\e(B) \e$B%0%k!<%WL>$G$9!#\e(B
+\e$B$9\e(B (@kbd{M-x customize-variable @key{RET}
+gnus-ham-process-destinations} \e$B$K$h$C$F$3$NJQ?t$r%+%9%?%^%$%:$9$k$N$,:G\e(B
+\e$B$b4JC1$G$9\e(B)\e$B!#JQ?t$r<j$G%+%9%?%^%$%:$9$kJ}$,9%$-$J?M$N$?$a$K8@$C$F$*$/$H!"\e(B
+\e$B$=$l$i$OIaDL$N\e(B Lisp \e$B$N\e(B list \e$B$G!"$=$l$>$l$N%K%e!<%9%0%k!<%W$N;EMM@_Dj\e(B
+\e$B$O\e(B @code{(@var{regexp} @var{processor})} \e$B$N7A<0$NCM$r;}$A$^$9!#:G=*E*$J\e(B
+\e$B>l=j$O\e(B (\e$BC1?t$^$?$OJ#?t$N\e(B) \e$B%0%k!<%WL>$G$9!#\e(B
@code{ham-process-destination} \e$B%Q%i%a!<%?$,@_Dj$5$l$F$$$J$$$H!"\e(Bham \e$B5-;v\e(B
\e$B$O$=$3$KN1$aCV$+$l$^$9!#\e(B
@code{spam-mark-ham-unread-before-move-from-spam-group} \e$B%Q%i%a!<%?$,@_Dj\e(B
\e$B$5$l$F$$$k$H!"\e(Bham \e$B5-;v$O0\F0$5$;$i$l$kA0$KL$FI$N0u$,IU$1$i$l$^$9!#\e(B
-Ham \e$B$,0\F0$G$-$J$$>l9g\e(B (\e$BNc$($P\e(B NNTP \e$B$N$h$&$JFI$_9~$_@lMQ%P%C%/%(%s%I$N$?\e(B
-\e$B$a$K\e(B)\e$B!"$=$l$O%3%T!<$5$l$^$9!#\e(B
+Ham \e$B$,0\F0$G$-$J$$>l9g\e(B (\e$BNc$($P\e(B @acronym{NNTP} \e$B$N$h$&$JFI$_9~$_@lMQ%P%C%/\e(B
+\e$B%(%s%I$G$"$k$?$a$K\e(B)\e$B!"$=$l$O%3%T!<$5$l$^$9!#\e(B
\e$B%0%k!<%W$^$?$O@55,I=8=$4$H$KJ#?t$N0\F0@h$r;XDj$G$-$k$3$H$KCmL\$7$F2<$5$$\e(B!
\e$B$3$l$K$h$C$F\e(B ham \e$B5-;v$r@55,$N%a!<%k%0%k!<%W$H\e(B @emph{ham \e$B%H%l!<%K%s%0\e(B} \e$B%0\e(B
\e$B$N\e(B @strong{spam} \e$B5-;v$O!"\e(B@code{spam-process-destination} \e$B%0%k!<%W%Q%i%a!<\e(B
\e$B%?$+\e(B @code{gnus-spam-process-destinations} \e$BJQ?t$N$I$A$i$+$K9gCW$9$k>l=j\e(B
\e$B$K0\$5$l$^$9!#$=$l$i$O%0%k!<%WL>$K9gCW$9$k@55,I=8=$N%j%9%H$G\e(B
-\e$B$9\e(B (@code{customize-variable gnus-spam-process-destinations} \e$B$K$h$C$F$3\e(B
-\e$B$NJQ?t$r%+%9%?%^%$%:$9$k$N$,:G$b4JC1$G$9\e(B)\e$B!#JQ?t$r<j$G%+%9%?%^%$%:$9$kJ}\e(B
-\e$B$,9%$-$J?M$N$?$a$K8@$C$F$*$/$H!"$=$l$i$OIaDL$N\e(B Lisp \e$B$N\e(B list \e$B$G!"$=$l$>$l\e(B
-\e$B$N%K%e!<%9%0%k!<%W$N;EMM@_Dj$O\e(B @code{(REGEXP GROUP)} \e$B$N7A<0$NCM$r;}$A$^\e(B
-\e$B$9!#:G=*E*$J>l=j$O\e(B (\e$BC1?t$^$?$OJ#?t$N\e(B) \e$B%0%k!<%WL>$G$9!#\e(B
-@code{spam-process-destination} \e$B%Q%i%a!<%?$,@_Dj$5$l$F$$$J$$$H!"\e(Bspam \e$B5-\e(B
-\e$B;v$OC1$K4|8B@Z$l>C5n$5$l$^$9!#%0%k!<%WL>$O40A47A$G$"$k$3$H!"$9$J$o$A%0%k!<\e(B
-\e$B%W%P%C%U%!$G%0%k!<%WL>$NA0$K\e(B @samp{nntp:servername} \e$B$N$h$&$J$b$N$,8+$($k\e(B
-\e$B>l9g$O!"$3$3$G$b$=$l$r;H$&I,MW$,$"$j$^$9!#\e(B
-
-Spam \e$B$,0\F0$G$-$J$$>l9g\e(B (\e$BNc$($P\e(B NNTP \e$B$N$h$&$JFI$_9~$_@lMQ%P%C%/%(%s%I$N\e(B
-\e$B$?$a$K\e(B)\e$B!"$=$l$O%3%T!<$5$l$^$9!#\e(B
+\e$B$9\e(B (@kbd{M-x customize-variable @key{RET}
+gnus-spam-process-destinations} \e$B$K$h$C$F$3$NJQ?t$r%+%9%?%^%$%:$9$k$N$,:G\e(B
+\e$B$b4JC1$G$9\e(B)\e$B!#JQ?t$r<j$G%+%9%?%^%$%:$9$kJ}$,9%$-$J?M$N$?$a$K8@$C$F$*$/$H!"\e(B
+\e$B$=$l$i$OIaDL$N\e(B Lisp \e$B$N\e(B list \e$B$G!"$=$l$>$l$N%K%e!<%9%0%k!<%W$N;EMM@_Dj\e(B
+\e$B$O\e(B @code{(@var{regexp} @var{group})} \e$B$N7A<0$NCM$r;}$A$^$9!#:G=*E*$J>l=j\e(B
+\e$B$O\e(B (\e$BC1?t$^$?$OJ#?t$N\e(B) \e$B%0%k!<%WL>$G$9!#\e(B@code{spam-process-destination} \e$B%Q\e(B
+\e$B%i%a!<%?$,@_Dj$5$l$F$$$J$$$H!"\e(Bspam \e$B5-;v$OC1$K4|8B@Z$l>C5n$5$l$^$9!#%0%k!<\e(B
+\e$B%WL>$O40A47A$G$"$k$3$H!"$9$J$o$A%0%k!<%W%P%C%U%!$G%0%k!<%WL>$NA0\e(B
+\e$B$K\e(B @samp{nntp:servername} \e$B$N$h$&$J$b$N$,8+$($k>l9g$O!"$3$3$G$b$=$l$r;H$&\e(B
+\e$BI,MW$,$"$j$^$9!#\e(B
+
+Spam \e$B$,0\F0$G$-$J$$>l9g\e(B (\e$BNc$($P\e(B @acronym{NNTP} \e$B$N$h$&$JFI$_9~$_@lMQ%P%C\e(B
+\e$B%/%(%s%I$G$"$k$?$a$K\e(B)\e$B!"$=$l$O%3%T!<$5$l$^$9!#\e(B
\e$B%0%k!<%W$^$?$O@55,I=8=$4$H$KJ#?t$N0\F0@h$r;XDj$G$-$k$3$H$KCmL\$7$F2<$5$$\e(B!
\e$B$3$l$K$h$C$F\e(B spam \e$B5-;v$r@55,$N%a!<%k%0%k!<%W\e(B
@vindex spam-mark-only-unseen-as-spam
Spam \e$B%0%k!<%W$K$"$k!"$^$@FI$^$l$?$3$H$,L5$$5-;v$@$1$K\e(B spam \e$B$N0u$rIU$1$?\e(B
\e$B$$>l9g$O!"$3$NJQ?t$r%;%C%H$7$F2<$5$$!#%G%#%U%)%k%H$G$O%;%C%H$5$l$F$$$^$9!#\e(B
-\e$B$3$l$r\e(B nil \e$B$K$9$k$H!"L$FI$N5-;v$K$b\e(B spam \e$B0u$,IU$1$i$l$^$9!#\e(B
+\e$B$3$l$r\e(B @code{nil} \e$B$K$9$k$H!"L$FI$N5-;v$K$b\e(B spam \e$B0u$,IU$1$i$l$^$9!#\e(B
@vindex spam-mark-ham-unread-before-move-from-spam-group
Ham \e$B$,\e(B spam \e$B%0%k!<%W$+$i0\F0$5$l$kA0$K0u$r>C$7$?$$>l9g$O!"$3$NJQ?t$r%;%C\e(B
\e$B%H$7$F2<$5$$!#$3$l$O\e(B ham \e$B$K0u$rIU$1$k$?$a$K2D;k\e(B (tick) \e$B0u$N$h$&$J$b$N$r\e(B
\e$B;H$&>l9g$K!"$H$F$bLr$KN)$A$^$9!#5-;v$O$"$?$+$b$=$l$,%a!<%k%5!<%P$r=P$?$P\e(B
-\e$B$+$j$N$h$&$K!"L50u$G\e(B ham \e$B=hM}>l$KCV$+$l$k$G$7$g$&!#\e(B
+\e$B$+$j$N$h$&$K!"L50u$G\e(B @code{ham-process-destination} \e$B$KCV$+$l$k$G$7$g$&!#\e(B
@vindex spam-autodetect-recheck-messages
-\e$B$3$NJQ?t$O\e(B @code{spam.el} \e$B$,\e(B spam \e$B$N<+F08!CN$r9T$J$&>l9g$K!"$^$@FI$^$l$?\e(B
+\e$B$3$NJQ?t$O\e(B @code{spam.el} \e$B$,\e(B spam \e$B$N<+F08!=P$r9T$J$&>l9g$K!"$^$@FI$^$l$?\e(B
\e$B$3$H$,L5$$5-;v$@$1!"$^$?$O$9$Y$F$NL$FI5-;v$N\e(B spam \e$B8!::$r9T$J$&$+$I$&$+$r\e(B
\e$B;X<($7$^$9!#$3$l$O$=$N$^$^$K$7$F$*$/$3$H$r4+$a$^$9!#\e(B
@cindex spam configuration examples
@cindex spam
-@subsubheading Ted's setup
+@subsubheading Ted \e$B$N@_Dj\e(B
From Ted Zlatanov <tzz@@lifelogs.com>.
@example
-;; for gnus-registry-split-fancy-with-parent and spam autodetection
-;; see gnus-registry.el for more information
+;; @r{@code{gnus-registry-split-fancy-with-parent} \e$B$H\e(B spam \e$B$N<+F08!=P$N$?$a!#\e(B}
+;; @r{\e$B>\:Y$O\e(B @file{gnus-registry.el} \e$B$r;2>H!#\e(B}
(gnus-registry-initialize)
(spam-initialize)
-;; I like control-S for marking spam
+;; @r{\e$B;d$O\e(B spam \e$B0u$rIU$1$k$N$K\e(B @kbd{C-s} \e$B$r9%$`!#\e(B}
(define-key gnus-summary-mode-map "\C-s" 'gnus-summary-mark-as-spam)
(setq
- spam-log-to-registry t ;; for spam autodetection
+ spam-log-to-registry t ;; @r{Spam \e$B$N<+F08!=P$N$?$a!#\e(B}
spam-use-BBDB t
- spam-use-regex-headers t ; catch X-Spam-Flag (SpamAssassin)
- ;; all groups with "spam" in the name contain spam
+ spam-use-regex-headers t ;; @r{X-Spam-Flag (SpamAssassin) \e$B$r$D$+$^$($k!#\e(B}
+ ;; @r{\e$BL>A0$K\e(B @samp{spam} \e$B$r4^$`$9$Y$F$N%0%k!<%W$K$O\e(B spam \e$B5-;v$,$"$k!#\e(B}
gnus-spam-newsgroup-contents '(("spam" gnus-group-spam-classification-spam))
- ;; see documentation for these
+ ;; @r{\e$B$3$l$i$N\e(B docstring \e$B$r;2>H!#\e(B}
spam-move-spam-nonspam-groups-only nil
spam-mark-only-unseen-as-spam t
spam-mark-ham-unread-before-move-from-spam-group t
nnimap-split-rule 'nnimap-split-fancy
- ;; understand what this does before you copy it to your own setup!
+ ;; @{\e$B$"$J$?$N@_Dj$KDI2C$9$kA0$K!"$3$l$,2?$r$9$k$+M}2r$;$h\e(B!}
nnimap-split-fancy '(|
- ;; trace references to parents and put in their group
+ ;; @r{References \e$B$r?F$^$GC)$C$F$=$l$i$N%0%k!<%W$rF~$l$k!#\e(B}
(: gnus-registry-split-fancy-with-parent)
- ;; this will catch server-side SpamAssassin tags
+ ;; @r{\e$B$3$l$O%5!<%P!<B&$N\e(B SpamAssassin \e$B%?%0$r$D$+$^$($k!#\e(B}
(: spam-split 'spam-use-regex-headers)
(any "ding" "ding")
- ;; note that spam by default will go to "spam"
+ ;; @r{Spam \e$B5-;v$O%G%#%U%)%k%H$G\e(B @samp{spam} \e$B$K9T$/$3$H$KCm0U!#\e(B}
(: spam-split)
- ;; default mailbox
+ ;; @r{\e$B%G%#%U%)%k%H$N%a!<%k%\%C%/%9!#\e(B}
"mail"))
-;; my parameters, set with `G p'
+;; @r{@kbd{G p} \e$B$G@_Dj$7$?;d$N%Q%i%a!<%?!#\e(B}
-;; all nnml groups, and all nnimap groups except
-;; "nnimap+mail.lifelogs.com:train" and
-;; "nnimap+mail.lifelogs.com:spam": any spam goes to nnimap training,
-;; because it must have been detected manually
+;; @r{\e$B$9$Y$F$N\e(B nnml \e$B%0%k!<%W$H!"\e(B@samp{nnimap+mail.lifelogs.com:train}}
+;; @r{\e$B$H\e(B @samp{nnimap+mail.lifelogs.com:spam} \e$B$r=|$$$?$9$Y$F$N\e(B nnimap}
+;; @r{\e$B%0%k!<%W$G$O!"$I$N\e(B spam \e$B$b\e(B nnimap \e$B%H%l!<%K%s%0$K9T$/!#\e(B}
+;; @r{\e$B$=$l$O<jF0$G8!=P$7$J$1$l$P$J$i$J$$$+$i!#\e(B}
((spam-process-destination . "nnimap+mail.lifelogs.com:train"))
-;; all NNTP groups
-;; autodetect spam with the blacklist and ham with the BBDB
+;; @r{\e$B$9$Y$F$N\e(B @acronym{NNTP} \e$B%0%k!<%W!#\e(B}
+;; @r{Spam \e$B$r\e(B blacklist \e$B$G!"\e(Bham \e$B$r\e(B BBDB \e$B$G<+F08!=P!#\e(B}
((spam-autodetect-methods spam-use-blacklist spam-use-BBDB)
-;; send all spam to the training group
+;; @r{\e$B$9$Y$F$N\e(B spam \e$B$r%H%l!<%K%s%0%0%k!<%W$KAw$k!#\e(B}
(spam-process-destination . "nnimap+mail.lifelogs.com:train"))
-;; only some NNTP groups, where I want to autodetect spam
+;; @r{\e$B;d$,\e(B spam \e$B$r<+F08!=P$5$;$?$$!"$$$/$D$+$N\e(B @acronym{NNTP} \e$B%0%k!<%W!#\e(B}
((spam-autodetect . t))
-;; my nnimap "nnimap+mail.lifelogs.com:spam" group
+;; @r{\e$B;d$N\e(B nnimap @samp{nnimap+mail.lifelogs.com:spam} \e$B%0%k!<%W!#\e(B}
-;; this is a spam group
+;; @r{\e$B$3$l$O\e(B spam \e$B%0%k!<%W!#\e(B}
((spam-contents gnus-group-spam-classification-spam)
- ;; any spam (which happens when I enter for all unseen messages,
- ;; because of the gnus-spam-newsgroup-contents setting above), goes to
- ;; "nnimap+mail.lifelogs.com:train" unless I mark it as ham
+ ;; @r{\e$B$I$s$J\e(B spam \e$B$b;d$O\e(B ham \e$B0u$rIU$1$J$1$l$P\e(B}
+ ;; @r{@samp{nnimap+mail.lifelogs.com:train} \e$B$K9T$/\e(B}
+ ;; @r{(\e$BA0=R$N\e(B @code{gnus-spam-newsgroup-contents} \e$B@_Dj$K$h$j!"$9$Y$F$N\e(B}
+ ;; @r{\e$B$^$@FI$^$l$?$3$H$,L5$$%a%C%;!<%8$rFI$`$H$=$&$J$k\e(B)\e$B!#\e(B}
(spam-process-destination "nnimap+mail.lifelogs.com:train")
- ;; any ham goes to my "nnimap+mail.lifelogs.com:mail" folder, but
- ;; also to my "nnimap+mail.lifelogs.com:trainham" folder for training
+ ;; @r{\e$B$I$s$J\e(B ham \e$B$b;d$N\e(B @samp{nnimap+mail.lifelogs.com:mail} \e$B%U%)%k%@$K9T$/\e(B}
+ ;; @r{\e$B$,!";d$N\e(B @samp{nnimap+mail.lifelogs.com:trainham} \e$B%U%)%k%@$K$b%H%l!<\e(B}
+ ;; @r{\e$B%K%s%0$N$?$a$K9T$/!#\e(B}
- (ham-process-destination "nnimap+mail.lifelogs.com:mail"
+ (ham-process-destination "nnimap+mail.lifelogs.com:mail"
"nnimap+mail.lifelogs.com:trainham")
- ;; in this group, only '!' marks are ham
+ ;; @r{\e$B$3$N%0%k!<%W$G$O\e(B @samp{!} \e$B0u$,IU$$$F$$$k$b$N$@$1$,\e(B ham\e$B!#\e(B}
(ham-marks
(gnus-ticked-mark))
- ;; remembers senders in the blacklist on the way out - this is
- ;; definitely not needed, it just makes me feel better
+ ;; @r{\e$B=P$+$1$k4V:]$K\e(B blacklist \e$B$KAw?.<T$r3P$($5$;$k\e(B - \e$B$3$l$OL@$i$+$K\e(B}
+ ;; @r{\e$BITMW$G!"C1$K;d$N]5J0$r@2$i$9$?$a$K$"$j$^$9!#\e(B}
(spam-process (gnus-group-spam-exit-processor-blacklist)))
-;; Later, on the IMAP server I use the "train" group for training
-;; SpamAssassin to recognize spam, and the "trainham" group for
-;; recognizing ham - but Gnus has nothing to do with it.
+;; @r{\e$B$=$N8e\e(B @acronym{IMAP} \e$B%5!<%P!<>e$G!";d$O\e(B SpamAssassin \e$B$,\e(B spam \e$B$rG'<1$9$k\e(B}
+;; @r{\e$B%H%l!<%K%s%0$N$?$a$K\e(B @samp{train} \e$B%0%k!<%W$r!"\e(Bham \e$B$rG'<1$9$k%H%l!<\e(B}
+;; @r{\e$B%K%s%0$N$?$a$K\e(B @samp{trainham} \e$B%0%k!<%W$r;H$$$^$9!#$G$b\e(B Gnus \e$B$O$=$&\e(B}
+;; @r{\e$B$$$&$3$H$O$d$C$F$/$l$^$;$s!#\e(B}
@end example
-@subsubheading Using @file{spam.el} on an IMAP server with a statistical filter on the server
-
+@subsubheading \e$B%5!<%P!<>e$N\e(B IMAP \e$B%5!<%P!<$G!"E}7WE*$J_I2a4o$H\e(B @file{spam.el} \e$B$r;H$&\e(B
From Reiner Steib <reiner.steib@@gmx.de>.
-My provider has set up bogofilter (in combination with @acronym{DCC}) on
-the mail server (@acronym{IMAP}). Recognized spam goes to
-@samp{spam.detected}, the rest goes through the normal filter rules,
-i.e. to @samp{some.folder} or to @samp{INBOX}. Training on false
-positives or negatives is done by copying or moving the article to
-@samp{training.ham} or @samp{training.spam} respectively. A cron job on
-the server feeds those to bogofilter with the suitable ham or spam
-options and deletes them from the @samp{training.ham} and
-@samp{training.spam} folders.
+\e$B;d$N%W%m%P%$%@$O\e(B (@acronym{IMAP}) \e$B%a!<%k%5!<%P!<>e$G\e(B (@acronym{DCC} \e$B$HO"\e(B
+\e$B78$7$?\e(B) bogofilter \e$B$r2TF/$5$;$F$$$^$9!#G'<1$5$l\e(B
+\e$B$?\e(B spam \e$B$O\e(B @samp{spam.detected} \e$B$X9T$-!";D$j$K$ODL>o$N_I2a5,B'$,E,MQ$5$l\e(B
+\e$B$k!"\e(B \e$B$9$J$o$A\e(B @samp{some.folder} \e$B$+\e(B @samp{INBOX} \e$B$K9T$-$^$9!#9NDj$N<:GT\e(B
+\e$B$"$k$$$OH]Dj$N%H%l!<%K%s%0$O!"\e(B@samp{training.ham} \e$B$^$?\e(B
+\e$B$O\e(B @samp{training.spam} \e$B$=$l$>$l$K5-;v$r%3%T!<$9$k$+0\F0$5$;$k$3$H$K$h$C\e(B
+\e$B$F9T$J$o$l$^$9!#%5!<%P!<>e$N\e(B cron \e$B%8%g%V$,!"$=$l$i$rE,@Z$J\e(B ham \e$B$^$?\e(B
+\e$B$O\e(B spam \e$B%*%W%7%g%s$H$H$b$K\e(B bogofilter \e$B$KM?$(!"\e(B@samp{training.ham} \e$B$*$h\e(B
+\e$B$S\e(B @samp{training.spam} \e$B%U%)%k%@$+$i$=$l$i$r:o=|$7$^$9!#\e(B
-With the following entries in @code{gnus-parameters}, @code{spam.el}
-does most of the job for me:
+\e$B0J2<$N\e(B @code{gnus-parameters} \e$B$N9`$K$h$C$F!"\e(B@code{spam.el} \e$B$O$[$H$s$I$N\e(B
+\e$B;E;v$r;d$N$?$a$K$3$J$7$^$9\e(B:
@lisp
("nnimap:spam\\.detected"
(spam-contents gnus-group-spam-classification-ham))
@end lisp
-@itemize
+@itemize
@item @b{The Spam folder:}
-In the folder @samp{spam.detected}, I have to check for false positives
-(i.e. legitimate mails, that were wrongly judged as spam by
-bogofilter or DCC).
-
-Because of the @code{gnus-group-spam-classification-spam} entry, all
-messages are marked as spam (with @code{$}). When I find a false
-positive, I mark the message with some other ham mark (@code{ham-marks},
-@ref{Spam ELisp Package Global Variables}). On group exit, those
-messages are copied to both groups, @samp{INBOX} (were I want to have
-the article) and @samp{training.ham} (for training bogofilter) and
-deleted from the @samp{spam.detected} folder.
-
-The @code{gnus-article-sort-by-chars} entry simplifies detection of
-false positives for me. I receive lots of worms (sweN, @dots{}), that all
-have a similar size. Grouping them by size (i.e. chars) makes finding
-other false positives easier. (Of course worms aren't @i{spam}
-(@acronym{UCE}, @acronym{UBE}) strictly speaking. Anyhow, bogofilter is
-an excellent tool for filtering those unwanted mails for me.)
+@samp{spam.detected} \e$B%U%)%k%@$K$*$$$F!";d$O9NDj$N<:GT\e(B (\e$B$9$J$o$A!"\e(B
+bogofilter \e$B$+\e(B DCC \e$B$,\e(B spam \e$B$G$"$k$H8m$C$FH=Dj$7$?@5Ev$J%a!<%k\e(B) \e$B$N%A%'%C%/\e(B
+\e$B$r$7$J$1$l$P$J$j$^$;$s!#\e(B
+
+@code{gnus-group-spam-classification-spam} \e$B$N9`$N$?$a$K!"$9$Y$F$N%a%C%;!<\e(B
+\e$B%8$K$O\e(B spam \e$B$N0u\e(B (@code{$}) \e$B$,IU$1$i$l$^$9!#9NDj$K<:GT$7$?$b$N$r8+$D$1$?\e(B
+\e$B$i!";d$O5-;v$K$$$/$D$+$NB>$N\e(B ham \e$B0u\e(B (@code{ham-marks}, @ref{Spam ELisp
+Package Global Variables}) \e$B$rIU$1$^$9!#%0%k!<%W$r=P$k$H$-!"$=$l$i$N5-;v\e(B
+\e$B$O\e(B @samp{INBOX} (\e$B;d$,5-;v$rCV$$$F$*$-$?$$$H$3\e(B
+\e$B$m\e(B) \e$B$H\e(B @samp{training.ham} (bogofilter \e$B$N%H%l!<%K%s%0MQ\e(B) \e$B$NN>J}$N%0%k!<\e(B
+\e$B%W$K%3%T!<$5$l!"\e(B@samp{spam.detected} \e$B%U%)%k%@$+$i:o=|$5$l$^$9!#\e(B
+
+@code{gnus-article-sort-by-chars} \e$B$N9`$O!";d$N<:GT$7$?9NDj$N8!=P$rC1=c$K\e(B
+\e$B$7$^$9!#;d$O!"$9$Y$F;w$?%5%$%:$N!"$?$/$5$s$N%o!<%`\e(B (sweN, @dots{}) \e$B$r<u\e(B
+\e$B$1<h$j$^$9!#$=$l$i$r%5%$%:\e(B (\e$B$D$^$jJ8;z?t\e(B) \e$B$G$^$H$a$k$H!"B>$N4V0c$C$?9NDj\e(B
+\e$B$r8+$D$1$d$9$/$J$k$N$G$9!#\e(B(\e$B$b$A$m$s87L)$K$O%o!<%`$O\e(B @i{spam}
+(@acronym{UCE}, @acronym{UBE}) \e$B$G$O$"$j$^$;$s!#$H$b$"$l!"$=$l$i$NMW$i$J\e(B
+\e$B$$%a!<%k$r_I2a$9$k$N$K\e(B bogofilter \e$B$O;d$K$H$C$FM%=($JF;6q$G$9!#\e(B)
@item @b{Ham folders:}
-In my ham folders, I just hit @kbd{S x}
-(@code{gnus-summary-mark-as-spam}) whenever I see an unrecognized spam
-mail (false negative). On group exit, those messages are moved to
-@samp{training.ham}.
+\e$B;d$N\e(B ham \e$B%U%)%k%@$G!"G'<1$5$l$J$+$C$?\e(B spam \e$B%a!<%k\e(B (\e$BH]Dj$N<:GT\e(B) \e$B$r8+$?$H\e(B
+\e$B$-$O$$$D$G$b!";d$OC1$K\e(B @kbd{S x} (@code{gnus-summary-mark-as-spam}) \e$B$rC!\e(B
+\e$B$-$^$9!#%0%k!<%W$r=P$k$H$-!"$=$l$i$N%a%C%;!<%8$O\e(B @samp{training.ham} \e$B$K\e(B
+\e$B0\$5$l$^$9!#\e(B
@end itemize
-@subsubheading Reporting spam articles in Gmane groups with @code{spam-report.el}
+@subsubheading @code{spam-report.el} \e$B$G\e(B Gmane \e$B%0%k!<%W$N\e(B spam \e$B$rJs9p$9$k\e(B
From Reiner Steib <reiner.steib@@gmx.de>.
-With following entry in @code{gnus-parameters}, @kbd{S x}
-(@code{gnus-summary-mark-as-spam}) marks articles in @code{gmane.*}
-groups as spam and reports the to Gmane at group exit:
+\e$B0J2<$N\e(B @code{gnus-parameters} \e$B$KG<$a$?9`L\$K$h$C$F!"\e(B@kbd{S x}
+(@code{gnus-summary-mark-as-spam}) \e$B$G\e(B @code{gmane.*} \e$B%0%k!<%W$N\e(B spam \e$B5-\e(B
+\e$B;v$K0u$rIU$1!"%0%k!<%W$r=P$k$H$-$K\e(B Gmane \e$B$KJs9p$7$^$9\e(B:
@lisp
("^gmane\\."
(spam-process (gnus-group-spam-exit-processor-report-gmane)))
@end lisp
-Additionally, I use `(setq spam-report-gmane-use-article-number nil)'
-because I don't read the groups directly from news.gmane.org, but
-through my local news server (leafnode). I.e. the article numbers are
-not the same as on news.gmane.org, thus @code{spam-report.el} has to check
-the @code{X-Report-Spam} header to find the correct number.
+\e$B2C$($F!";d$O\e(B news.gmane.org \e$B$+$i$G$O$J$/%m!<%+%k%K%e!<%9%5!<\e(B
+\e$B%P!<\e(B (leafnode) \e$B$rDL$7$F5-;v$rFI$s$G$$$k$N$G!"\e(B
+@code{(setq spam-report-gmane-use-article-number nil)} \e$B$r;H$C$F$$$^$9!#\e(B
+\e$B$D$^$j!"5-;vHV9f$,\e(B news.gmane.org \e$B$K$*$1$k$b$N$H0[$J$k$N$G!"@5$7$$5-;vHV\e(B
+\e$B9f$r8+$D$1$k$?$a$K\e(B @code{spam-report.el} \e$B$K\e(B @code{X-Report-Spam} \e$B%X%C%@!<\e(B
+\e$B$r8!::$5$;$J$1$l$P$J$j$^$;$s!#\e(B
@node Blacklists and Whitelists
@subsubsection \e$B%V%i%C%/%j%9%H$H%[%o%$%H%j%9%H\e(B
@code{spam-list-of-checks} \e$B$K\e(B
-@example
- (spam-use-blackbox . spam-check-blackbox)
-@end example
+@lisp
+(spam-use-blackbox . spam-check-blackbox)
+@end lisp
\e$B$rDI2C!#\e(B@code{spam-list-of-processors} \e$B$K\e(B
-@example
- (gnus-group-ham-exit-processor-blackbox ham spam-use-blackbox)
- (gnus-group-spam-exit-processor-blackbox spam spam-use-blackbox)
-@end example
+@lisp
+(gnus-group-ham-exit-processor-blackbox ham spam-use-blackbox)
+(gnus-group-spam-exit-processor-blackbox spam spam-use-blackbox)
+@end lisp
\e$B$rDI2C!#\e(B@code{spam-registration-functions} \e$B$K\e(B
-@example
- (spam-use-blackbox spam-blackbox-register-routine
- nil
- spam-blackbox-unregister-routine
- nil)
-@end example
+@lisp
+(spam-use-blackbox spam-blackbox-register-routine
+ nil
+ spam-blackbox-unregister-routine
+ nil)
+@end lisp
\e$B$rDI2C!#\e(B
@code{gnus.el} \e$B$K$"$k%0%k!<%W%Q%i%a!<%?\e(B @code{spam-process} \e$B$K\e(B
-@example
- (const :tag "Spam: Blackbox" (spam spam-use-blackbox))
- (const :tag "Ham: Blackbox" (ham spam-use-blackbox))
-@end example
+@lisp
+(const :tag "Spam: Blackbox" (spam spam-use-blackbox))
+(const :tag "Ham: Blackbox" (ham spam-use-blackbox))
+@end lisp
\e$B$r2C$($F2<$5$$!#$=$l$r%Q%i%a!<%?$HJQ?t$N%+%9%?%^%$%:$NFs2s$K$D$$$F9T$J$&\e(B
\e$B$3$H$r3N$+$a$F2<$5$$!#\e(B
@code{gnus.el} \e$B$N%0%k!<%W%Q%i%a!<%?\e(B @code{spam-autodetect-methods} \e$B$K\e(B
-@example
- (variable-item spam-use-blackbox)
-@end example
+@lisp
+(variable-item spam-use-blackbox)
+@end lisp
\e$B$r2C$($F2<$5$$!#\e(B