+@vindex gnus-mode-non-string-length
+\e$B=i4|@_Dj$G$O!"\e(Bgnus \e$B$O35N,%P%C%U%!$H5-;v%P%C%U%!$N%b!<%I9T$K8=:_$N5-;v$N\e(B
+\e$B>pJs$rI=<($7$^$9!#\e(BGnus \e$B$,I=<($7$?$$>pJs\e(B (\e$BNc$($P!"5-;v$NI=Bj\e(B) \e$B$O$7$P$7$P\e(B
+\e$B%b!<%I9T$h$j$bD9$$$3$H$,$"$k$N$G!"$I$3$+$G@Z$jMn$H$5$l$J$1$l$P$J$j$^$;$s!#\e(B
+\e$BJQ?t\e(B @code{gnus-mode-non-string-length} \e$B$O$=$N9T$NB>$NMWAG\e(B (\e$B$9$J$o$A!">p\e(B
+\e$BJs$G$J$$ItJ,\e(B) \e$B$,$I$N$/$i$$$ND9$5$G$"$k$+$r;XDj$7$^$9!#$b$7%b!<%I9T$KDI2C\e(B
+\e$B$NMWAG$rF~$l$?$J$i!"$3$NJQ?t$r=$@5$9$kI,MW$,$"$j$^$9\e(B:
+
+@c Hook written by Francesco Potorti` <pot@cnuce.cnr.it>
+@lisp
+(add-hook 'display-time-hook
+ (lambda () (setq gnus-mode-non-string-length
+ (+ 21
+ (if line-number-mode 5 0)
+ (if column-number-mode 4 0)
+ (length display-time-string)))))
+@end lisp
+
+\e$B$b$7$3$NJQ?t$,\e(B @code{nil} \e$B$G$"$k$J$i\e(B (\e$B$3$l$,=i4|CM$G$9$,\e(B)\e$B!"%b!<%I9T$O@Z\e(B
+\e$B$jMn$H$5$l$:!"5M$a9~$_$b$5$l$^$;$s!#=i4|@_Dj$O!"%P%C%U%!$N40A4$J%Q!<%;%s\e(B
+\e$B%HI=<($5$($b%b!<%I9T$+$iDI$$$d$i$l$k2DG=@-$b$"$j$^$9$N$G!"$*$=$i$/K>$^$7\e(B
+\e$B$$@_Dj$G$O$J$$$H$$$&;v$KCm0U$7$F2<$5$$!#MxMQ<T$,<+J,$N@_Dj$K9g$&$h$&$K$3\e(B
+\e$B$NJQ?t$rE,@Z$K@_Dj$7$J$1$l$P$J$j$^$;$s!#\e(B
+
+@node Highlighting and Menus
+@section \e$B%O%$%i%$%H$H%a%K%e!<\e(B
+@cindex visual
+@cindex highlighting
+@cindex menus
+
+@vindex gnus-visual
+\e$BJQ?t\e(B @code{gnus-visual} \e$B$O$?$$$F$$$N\e(B gnus \e$B$rAGE($K$9$kItJ,$NA`:n$r$7$^$9!#\e(B
+@code{nil} \e$B$G$"$k$H!"\e(Bgnus \e$B$O%a%K%e!<$r:n$C$?$j!"AGE($J?'$d%U%)%s%H$r;H$C\e(B
+\e$B$?$j$7$h$&$H$7$^$;$s!#$3$l$O%U%!%$%k\e(B @file{gnus-vis.el} \e$B$rFI$_9~$`;v$b6X\e(B
+\e$B;_$7$^$9!#\e(B
+
+\e$B$3$NJQ?t$O;HMQ2DG=$J;k3PE*%W%m%Q%F%#$N%j%9%H$G$"$k;v$,$G$-$^$9!#0J2<$NMW\e(B
+\e$BAG$OM-8z$G!"=i4|@_Dj$G$9$Y$F4^$^$l$F$$$^$9\e(B:
+
+@table @code
+@item group-highlight
+\e$B%0%k!<%W%P%C%U%!$G%O%$%i%$%H$r$7$^$9!#\e(B
+@item summary-highlight
+\e$B35N,%P%C%U%!$G%O%$%i%$%H$r$7$^$9!#\e(B
+@item article-highlight
+\e$B5-;v%P%C%U%!$G%O%$%i%$%H$r$7$^$9!#\e(B
+@item highlight
+\e$BA4$F$N%P%C%U%!$G%O%$%i%$%H$r$9$k$h$&$K$7$^$9!#\e(B
+@item group-menu
+\e$B%0%k!<%W%P%C%U%!$G%a%K%e!<$r:n@.$7$^$9!#\e(B
+@item summary-menu
+\e$B35N,%P%C%U%!$G%a%K%e!<$r:n@.$7$^$9!#\e(B
+@item article-menu
+\e$B5-;v%P%C%U%!$G%a%K%e!<$r:n@.$7$^$9!#\e(B
+@item browse-menu
+\e$B%V%i%&%:%P%C%U%!$G%a%K%e!<$r:n@.$7$^$9!#\e(B
+@item server-menu
+\e$B%5!<%P!<%P%C%U%!$G%a%K%e!<$r:n@.$7$^$9!#\e(B
+@item score-menu
+\e$B%9%3%"%P%C%U%!$G%a%K%e!<$r:n@.$7$^$9!#\e(B
+@item menu
+\e$BA4$F$N%P%C%U%!$G%a%K%e!<$r:n@.$7$^$9!#\e(B
+@end table
+
+\e$B$G$9$+$i!"5-;v%P%C%U%!$@$1$r%O%$%i%$%H$7$?$/!"A4$F$N%P%C%U%!$G%a%K%e!<$r\e(B
+\e$B:n$j$?$$>l9g$O!"$3$N$h$&$K$9$k;v$,$G$-$^$9\e(B:
+
+@lisp
+(setq gnus-visual '(article-highlight menu))
+@end lisp
+
+\e$B$b$7%O%$%i%$%H$@$1$G!"%a%K%e!<$NN`$OM_$7$/$J$$$H$-$O!"<!$N$h$&$K$G$-$^$9\e(B:
+
+@lisp
+(setq gnus-visual '(highlight))
+@end lisp
+
+@code{gnus-visual} \e$B$,\e(B @code{t} \e$B$G$"$k$H!"%O%$%i%$%H$H%a%K%e!<$OA4$F\e(B
+\e$B$N\e(B gnus \e$B$N%P%C%U%!$G;HMQ$5$l$^$9!#\e(B
+
+\e$BB>$NA4$F$N%P%C%U%!$N308+$K1F6A$9$kAm9gE*$JJQ?t$O\e(B:
+
+@table @code
+@item gnus-mouse-face
+@vindex gnus-mouse-face
+\e$B$3$l$O\e(B gnus \e$B$G%^%&%9$N%O%$%i%$%H$K;H$o$l$k%U%'%$%9\e(B (\e$B$9$J$o$A!"%U%)%s\e(B
+\e$B%H\e(B) \e$B$G$9!#\e(B@code{gnus-visual} \e$B$,\e(B @code{nil} \e$B$G$"$k$H!"%^%&%9%O%$%i%$%H$O\e(B
+\e$B$J$5$l$^$;$s!#\e(B
+@end table
+
+\e$BA4$/0c$C$?%a%K%e!<$r:n@.$9$k$?$a$K4XO"$9$k%U%C%/$,$"$j$^$9\e(B:
+
+@table @code
+@item gnus-article-menu-hook
+@vindex gnus-article-menu-hook
+\e$B5-;v%b!<%I\e(B (article mode) \e$B%a%K%e!<$r:n@.$7$?8e$K8F$P$l$k%U%C%/$G$9!#\e(B
+
+@item gnus-group-menu-hook
+@vindex gnus-group-menu-hook
+\e$B%0%k!<%W%b!<%I\e(B (group mode) \e$B%a%K%e!<$r:n@.$7$?8e$K8F$P$l$k%U%C%/$G$9!#\e(B
+
+@item gnus-summary-menu-hook
+@vindex gnus-summary-menu-hook
+\e$B35N,%b!<%I\e(B (summary mode) \e$B%a%K%e!<$r:n@.$7$?8e$K8F$P$l$k%U%C%/$G$9!#\e(B
+
+@item gnus-server-menu-hook
+@vindex gnus-server-menu-hook
+\e$B%5!<%P!<%b!<%I\e(B (server mode) \e$B%a%K%e!<$r:n@.$7$?8e$K8F$P$l$k%U%C%/$G$9!#\e(B
+
+@item gnus-browse-menu-hook
+@vindex gnus-browse-menu-hook
+\e$B354Q%b!<%I\e(B (browse mode) \e$B%a%K%e!<$r:n@.$7$?8e$K8F$P$l$k%U%C%/$G$9!#\e(B
+
+@item gnus-score-menu-hook
+@vindex gnus-score-menu-hook
+\e$B%9%3%"%b!<%I\e(B (score mode) \e$B%a%K%e!<$r:n@.$7$?8e$K8F$P$l$k%U%C%/$G$9!#\e(B
+@end table
+
+@node Buttons
+@section \e$B%\%?%s\e(B
+@cindex buttons
+@cindex mouse
+@cindex click
+
+\e$B:G6a$G$O!":G?7N.9T$N%^%&%9\e(B @dfn{mouse} \e$BAuCV$,!"$A$c$s$H$7$?A`:nK!$r3X$S\e(B
+\e$B$?$,$i$J$$%J%&$J%d%s%0$N4V$GBg?M5$$G$9!#$=$l$G$O!";d$,\e(B Tops 20 \e$B%7%9%F%`\e(B
+\e$B>e$G\e(B Emacs \e$B$r;H$C$F$$$?:"$N\e(B '89 \e$BG/$N2F$r;W$$5/$3$7$F$_$^$7$g$&!#\e(B300 \e$B?M$N\e(B
+\e$BMxMQ<T$,!"0l$D$N%^%7%s>e$G!"$_$s$J$,\e(B Simula \e$B%3%s%Q%$%i$rAv$i$;$F$$$^$7$?!#\e(B
+\e$B$"$"!"$P$+$P$+$7$$\e(B!
+
+\e$B$[$s$H$K$=$&$@$M!#\e(B
+
+@vindex gnus-carpal
+\e$B$^$:$G$9$M!"\e(B@code{gnus-carpal} \e$B$r\e(B @code{t} \e$B$K@_Dj$9$k$3$H$K$h$C$F!"%/%j%C\e(B
+\e$B%/$9$k$@$1$G2?$G$b$G$-$k%\%?%s$@$i$1$N%P%C%U%!$r\e(B gnus \e$B$KI=<($5$;$k$3$H$,\e(B
+\e$B$G$-$^$9!#$H$C$F$b4JC1$G$9!"$[$s$H$K!#;X05NEK!$N@h@8$K65$($F$"$2$F!#\e(B(\e$BLu\e(B
+\e$BCm\e(B: carpal \e$B$H$O<j<s$N9|$N$3$H\e(B)
+
+@table @code
+@item gnus-carpal-mode-hook
+@vindex gnus-carpal-mode-hook
+\e$BA4$F$N<j<s%b!<%I%P%C%U%!$G<B9T$9$k%U%C%/!#\e(B
+
+@item gnus-carpal-button-face
+@vindex gnus-carpal-button-face
+\e$B%\%?%s$K;H$o$l$k%U%'%$%9!#\e(B
+
+@item gnus-carpal-header-face
+@vindex gnus-carpal-header-face
+\e$B<j<s%P%C%U%!$N%X%C%@!<$G;HMQ$5$l$k%U%'%$%9!#\e(B
+
+@item gnus-carpal-group-buffer-buttons
+@vindex gnus-carpal-group-buffer-buttons
+\e$B%0%k!<%W%P%C%U%!$N%\%?%s!#\e(B
+
+@item gnus-carpal-summary-buffer-buttons
+@vindex gnus-carpal-summary-buffer-buttons
+\e$B35N,%P%C%U%!$N%\%?%s!#\e(B
+
+@item gnus-carpal-server-buffer-buttons
+@vindex gnus-carpal-server-buffer-buttons
+\e$B%5!<%P!<%P%C%U%!$N%\%?%s!#\e(B
+
+@item gnus-carpal-browse-buffer-buttons
+@vindex gnus-carpal-browse-buffer-buttons
+\e$B1\Mw%P%C%U%!$N%\%?%s!#\e(B
+@end table
+
+\e$BA4$F$N\e(B @code{buttons} \e$BJQ?t$O%j%9%H$G$9!#$3$N%j%9%H$NMWAG$O!"\e(B
+@code{car} \e$B$,I=<($5$l$kJ8$G\e(B @code{cdr} \e$B$,4X?t%7%s%\%k$N\e(B cons \e$B%;%k$+!"$b\e(B
+\e$B$7$/$O$?$@$NJ8;zNs$N$I$A$i$+$G$9!#\e(B
+
+@node Daemons
+@section \e$B%G!<%b%s\e(B
+@cindex demons
+@cindex daemons
+
+Gnus\e$B!"$=$l$O\e(B(\e$B8@$$EA$($K$h$l$P\e(B)\e$B$+$D$F=q$+$l$?$$$+$J$k%W%m%0%i%`$h$j$bBg$-\e(B
+\e$B$/!"$"$J$?$,$d$C$FM_$7$$$H;W$&$5$^$6$^$J4qL/$J$3$H$r!"$"$J$?$N$$$J$$$H$3\e(B
+\e$B$m$G9T$C$F$/$l$k$b$N$G$9!#Nc$($P!"$"$J$?$O;~$?$^?7Ce%a!<%k$r%A%'%C%/$7$F\e(B
+\e$B$b$i$$$?$/$J$k$+$bCN$l$^$;$s!#$"$k$$$O\e(B Emacs \e$B$r$7$P$i$/J|$C$F$*$$$?$H$-\e(B
+\e$BA4$F$N%5!<%P$N@\B3$r@ZCG$7$F$b$i$$$?$/$J$k$+$b$7$l$^$;$s!#B>$K$b2?$+$=$&\e(B
+\e$B$$$C$?$3$H$G$9!#\e(B
+
+Gnus \e$B$O$5$^$6$^$J@)8f;R\e(B @dfn{handlers} \e$B$rDj5A$9$k$3$H$K$h$C$F$=$N$h$&$J\e(B
+\e$B$3$H$r2DG=$K$7$^$9!#3F@)8f;R$O;0$D$NMWAG$+$i@.$j$^$9!#\e(B
+@var{\e$B4X?t\e(B}, @var{\e$B;~4V\e(B}, @var{\e$B6uE>\e(B} \e$B%Q%i%a!<%?$G$9!#\e(B
+
+\e$B0J2<$O\e(B Emacs \e$B$,2?$b$7$J$$6uE>>uBV$,;0==J,B3$$$?$H$-$K@\B3$r@ZCG$9$k@)8f\e(B
+\e$B;R$NNc$G$9!#\e(B
+
+@lisp
+(gnus-demon-close-connections nil 30)
+@end lisp
+
+\e$B0J2<$O\e(B Emacs \e$B$,2?$b$7$F$$$J$$$H$-!"0l;~4VKh$K\e(B @acronym{PGP} \e$B%X%C%@!<$rAv\e(B
+\e$B::$9$k@)8f;R$G$9!#\e(B
+
+@lisp
+(gnus-demon-scan-pgp 60 t)
+@end lisp
+
+\e$B$3$N\e(B @var{\e$B;~4V\e(B} \e$B%Q%i%a!<%?$H$=$7$F\e(B @var{\e$B6uE>\e(B} \e$B%Q%i%a!<%?$O!"4qL/$G$+$DAG\e(B
+\e$B@2$i$7$$J}K!$G0l=o$KF0:n$7$^$9!#4pK\E*$K$O!"\e(B@var{\e$B6uE>\e(B} \e$B$,\e(B @code{nil} \e$B$N\e(B
+\e$B;~$K$O$3$N4X?t$O\e(B @var{\e$B;~4V\e(B} \e$BJ,Kh$K8F$S=P$5$l$^$9!#\e(B
+
+\e$B$b$7\e(B @var{\e$B6uE>\e(B} \e$B$,\e(B @code{t} \e$B$G$"$l$P!"$3$N4X?t$O\e(B Emacs \e$B$,2?$b$7$F$$$J$$\e(B
+\e$B;~$K8B$j!"\e(B@var{\e$B;~4V\e(B} \e$BJ,8e$K8F$S=P$5$l$^$9!#0lC6\e(B Emacs \e$B$,$:$C$H6uE>>uBV$K\e(B
+\e$B$J$C$?8e$O!"$3$N4X?t$O\e(B @var{\e$B;~4V\e(B} \e$BJ,Kh$K8F$S=P$5$l$^$9!#\e(B
+
+@var{\e$B6uE>\e(B} \e$B$,?t$G\e(B @var{\e$B;~4V\e(B} \e$B$b?t$G$"$k>l9g!"$3$N4X?t$O!"\e(BEmacs \e$B$N6uE>>u\e(B
+\e$BBV$,\e(B @var{\e$B6uE>\e(B} \e$BJ,B3$$$?;~$K8B$j!"\e(B@var{\e$B;~4V\e(B} \e$BJ,Kh$K8F$S=P$5$l$^$9!#\e(B
+
+@var{\e$B6uE>\e(B} \e$B$,?t$G\e(B @var{\e$B;~4V\e(B} \e$B$,\e(B @code{nil} \e$B$N>l9g!"$3$N4X?t$O!"\e(BEmacs \e$B$N\e(B
+\e$B6uE>>uBV$,\e(B @var{\e$B6uE>\e(B} \e$BJ,B3$/EY$K0lEY8F$S=P$5$l$^$9!#\e(B
+
+\e$B$=$7$F\e(B @var{\e$B;~4V\e(B} \e$B$,J8;zNs$N>l9g$O!"\e(B@samp{07:31} \e$B$N$h$&$J7A<0$G$J$1$l$P\e(B
+\e$B$J$i$:!"$3$N4X?t$OKhF|$=$N:"$N;~4V$K$J$k$H0lEY8F$S=P$5$l$^$9!#$b$A$m$s!"\e(B
+@var{\e$B6uE>\e(B} \e$B%Q%i%a!<%?$GF0:n$,JQ$o$j$^$9!#\e(B
+
+@vindex gnus-demon-timestep
+(\e$B$3$3$G\e(B ``\e$BJ,\e(B'' \e$B$H8@$C$?$H$-!"$=$l$O<B:]$K\e(B
+\e$B$O\e(B @code{gnus-demon-timestep} \e$BIC$N$3$H$G$9!#$3$l$O=i4|@_Dj$G$O\e(B 60 \e$B$G$9!#\e(B
+\e$B$b$7$3$NJQ?t$rJQ99$9$k$H!"A4$F$N@)8f;R$N7W;~$K1F6A$rM?$($^$9!#\e(B)
+
+\e$B$H$$$&$o$1$G!"@)8f;R$rDI2C$7$?$1$l$P!"\e(B@file{~/.gnus.el} \e$B%U%!%$%k$K!"0J2<\e(B
+\e$B$N$h$&$J$b$N$r=q$/$3$H$,$G$-$^$9!#\e(B
+
+@findex gnus-demon-add-handler
+@lisp
+(gnus-demon-add-handler 'gnus-demon-close-connections 30 t)
+@end lisp
+
+@findex gnus-demon-add-nocem
+@findex gnus-demon-add-scanmail
+@findex gnus-demon-add-rescan
+@findex gnus-demon-add-scan-timestamps
+@findex gnus-demon-add-disconnection
+\e$B$3$N$?$a$N4{@=4X?t$,$$$/$D$+:n@.$5$l$F$$$^$9!#\e(B@code{gnus-demon-add-nocem},
+@code{gnus-demon-add-disconnection},
+@code{gnus-demon-add-nntp-close-connection},
+@code{gnus-demon-add-scan-timestamps}, @code{gnus-demon-add-rescan},
+@code{gnus-demon-add-scanmail} \e$B$G\e(B
+\e$B$9!#$3$l$i$NG=NO$,M_$7$1$l$P!"C1$K$3$l$i$N4X?t$r\e(B @file{~/.gnus.el} \e$B$KF~\e(B
+\e$B$l$F$/$@$5$$!#\e(B
+
+@findex gnus-demon-init
+@findex gnus-demon-cancel
+@vindex gnus-demon-handlers
+\e$B$b$7\e(B @code{gnus-demon-handlers} \e$B$G@)8f;R$rD>@\DI2C$7$?>l9g$K$O!"$=$l$r8z\e(B
+\e$B$+$;$k$?$a$K\e(B @code{gnus-demon-init} \e$B$r<B9T$7$F$/$@$5$$!#A4$F$N%G!<%b%s$r\e(B
+\e$B<h$j>C$9$K$O!"\e(B@code{gnus-demon-cancel} \e$B4X?t$r;H$&$3$H$,$G$-$^$9!#\e(B
+
+\e$B%G!<%b%s$NDI2C$O!"$d$j$9$.$k$N$O$H$C$F$b$*9T57$N$h$/$J$$$3$H$G$9!#A4$F$N\e(B
+\e$B%5!<%P!<$+$iA4$F$N%K%e!<%9$H%a!<%k$rFsICKh$KD4$Y$^$o$94X?t$rIU$12C$($A$c$C\e(B
+\e$B$?$j$9$k$H!"$I$s$JN)GI$J%7%9%F%`$G$b4V0c$$$J$/$*J'$$H"$K$7$F$7$^$$$^$9!#\e(B
+\e$B$=$&F0$/$s$@$b$s!#\e(B
+
+@node NoCeM
+@section NoCeM
+@cindex nocem
+@cindex spam
+
+@dfn{Spam} \e$B$H$O!"F1$85-;v$r2?2s$b2?2s$b2?2s$bEj9F$9$k$3$H$G$9!#\e(BSpam \e$B$O0-\e(B
+\e$B$$$3$H$G$9!#\e(BSpam \e$B$O6'0-$G$9!#\e(B
+
+Spam \e$B$ODL>o0lF|$+$=$3$i$G!"$5$^$6$^$JH?\e(B spam \e$B5!4X$+$i<h$j>C$7$5$l$^$9!#\e(B
+\e$B$3$l$i$N5!4X$ODL>o0l=o$K!"\e(B@dfn{NoCeM} \e$B%a%C%;!<%8$bAw?.$7$^$9!#\e(B
+@dfn{NoCeM} \e$B$O\e(B ``no see-'em'' (\e$BH`$i$r8+$?$/$J$$\e(B)\e$B$HH/2;$5$l!"0UL#$O$=$NL>\e(B
+\e$BA0$NDL$j$G$9\e(B --- \e$B$3$N%a%C%;!<%8$O!":a$rHH$7$F$$$k5-;v$r!"$D$^$j!">C$7$F\e(B
+\e$B$7$^$$$^$9!#\e(B
+
+\e$B$I$&$;$=$N5-;v$,<h$j>C$7$5$l$F$7$^$&$N$J$i!"$3$l$i\e(B NoCeM \e$B%a%C%;!<%8$O2?\e(B
+\e$B$K;H$o$l$k$N$G$7$g$&\e(B? \e$B$"$k%5%$%H$G$O<h$j>C$7%a%C%;!<%8$r0z$-<u$1$:!"$"$k\e(B
+\e$B%5%$%H$G$OFCDj$N?t?M$+$i$N<h$j>C$7%a%C%;!<%8$N$_$7$+0z$-<u$1$^$;$s!#$=$l\e(B
+\e$B$G!"$"$J$?$O\e(B NoCeM \e$B%a%C%;!<%8$r;H$$$?$/$J$k$+$b$7$l$J$$$o$1$G$9!#$3$l$i\e(B
+\e$B$O\e(B @samp{alt.nocem.misc} \e$B%K%e!<%9%0%k!<%W$GG[I[$5$l$F$$$^$9!#\e(B
+
+Gnus \e$B$O$3$N%0%k!<%W$N%a%C%;!<%8$r<+F0E*$KFI$_!"2r<a$9$k$3$H$,$G$-!"$3$l\e(B
+\e$B$G\e(B spam \e$B$r>C$75n$j$^$9!#\e(B
+
+\e$B$b$A$m$s!"$3$l$i$r%+%9%?%^%$%:$9$k$?$a$NJQ?t$,$$$/$D$+$"$j$^$9!#\e(B
+
+@table @code
+@item gnus-use-nocem
+@vindex gnus-use-nocem
+\e$B$3$NJQ?t$r\e(B @code{t} \e$B$K@_Dj$9$k$3$H$G3hF0$r3+;O$5$;$^$9!#=i4|@_Dj$G\e(B
+\e$B$O\e(B @code{nil} \e$B$G$9!#\e(B
+
+@item gnus-nocem-groups
+@vindex gnus-nocem-groups
+Gnus \e$B$O$3$N%0%k!<%W%j%9%H$+$i\e(B NoCeM \e$B%a%C%;!<%8$rC5$7$^$9!#=i4|@_DjCM\e(B
+\e$B$O\e(B @code{("news.lists.filters" "news.admin.net-abuse.bulletins"
+"alt.nocem.misc" "news.admin.net-abuse.announce")} \e$B$G$9!#\e(B
+
+@item gnus-nocem-issuers
+@vindex gnus-nocem-issuers
+NoCeM \e$B%a%C%;!<%8$rH/9T$9$k?M$O$?$/$5$s$$$^$9!#$3$N%j%9%H$G$O!"C/$N8@$&$3\e(B
+\e$B$H$K=>$$$?$$$+$r;XDj$7$^$9!#=i4|@_DjCM$O\e(B @code{(("Automoose-1"
+"clewis@@ferret.ocunix.on.ca" "cosmo.roadkill" "SpamHippo"
+"hweede@@snafu.de")} \e$B$G$9!#H`$i$O$_$s$J!"N)GI$G9b7i$J;TL1$G$9!#\e(B
+
+\e$B$3$N%j%9%H$K4^$a$i$l$kM-L>$JH?\e(B spam \e$B2H$?$A\e(B
+\e$B$O\e(B @uref{http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html} \e$B$K:\$C$F\e(B
+\e$B$$$^$9!#\e(B
+
+\e$B$3$l$iA4$F$N?M!9$N\e(B NoCeM \e$B%a%C%;!<%8$KN10U$9$kI,MW$O$"$j$^$;$s\e(B --- \e$B8@$&$3\e(B
+\e$B$H$rJ9$-$?$$?M$@$1$G$$$$$s$G$9!#$^$?$=$N?M$+$i$N\e(B NoCeM\e$B%a%C%;!<%8A4$F$r<u\e(B
+\e$B$1F~$l$kI,MW$b$"$j$^$;$s!#\e(BNoCeM \e$B%a%C%;!<%8$K$O$=$l$>$l<oJL\e(B @dfn{type} \e$B%X%C\e(B
+\e$B%@!<$,$D$$$F$*$j!"$3$l$O$=$N%a%C%;!<%8$N87L)$JDj5A$rM?$($F$$$^$9\e(B(\e$BB?>/$O\e(B
+\e$B87L)$J!"DxEY$M!#$?$$$F$$$O>/$@$1$I\e(B)\e$B!#NI$/;H$o$l$k<oJL$K$O!"\e(B
+@samp{spam}, @samp{spew}, @samp{mmf}, @samp{binary}, @samp{troll} \e$B$,$"$j\e(B
+\e$B$^$9!#$3$l$r;XDj$9$k$K$O!"%j%9%H$NCf$G\e(B @code{(@var{\e$BH/9T<T\e(B} @var{\e$B>r\e(B
+\e$B7o\e(B} @dots{})} \e$BMWAG$r;H$&I,MW$,$"$j$^$9!#3F>r7o$OJ8;zNs\e(B (\e$B;H$$$?$$<oJL$K%^%C\e(B
+\e$B%A$9$k@55,I=8=\e(B) \e$B$+!"$^$?$O\e(B @code{(not @var{\e$BJ8;zNs\e(B})} \e$B$H$$$&7A<0$N%j%9%H\e(B
+\e$B$G$9!#$3$N>l9g$O\e(B @var{\e$BJ8;zNs\e(B} \e$B$O;H$$$?$/$J$$<oJL$K%^%C%A$9$k@55,I=8=$G$9\e(B
+
+\e$BNc$($P!"\e(BChris Lewis \e$B$+$i$N\e(B NoCeM \e$B%a%C%;!<%8$G!"\e(B@samp{troll} \e$B%a%C%;!<%80J\e(B
+\e$B30$NA4$F$rM_$7$$>l9g$K$O!"\e(B
+
+@lisp
+("clewis@@ferret.ocunix.on.ca" ".*" (not "troll"))
+@end lisp
+
+\e$B0lJ}!"H`$N\e(B @samp{spam} \e$B$H\e(B @samp{spew} \e$B%a%C%;!<%80J30$O2?$b$7$?$/$J$1$l$P!"\e(B
+\e$B0J2<$N$h$&$K$G$-$^$9!#\e(B
+
+@lisp
+("clewis@@ferret.ocunix.on.ca" (not ".*") "spew" "spam")
+@end lisp
+
+\e$B$3$N;XDj$O:8$+$i1&$KE,MQ$5$l$^$9!#\e(B
+
+@item gnus-nocem-verifyer
+@vindex gnus-nocem-verifyer
+@findex mc-verify
+\e$B$3$l$O\e(B NoCeM \e$BH/9T<T$,C/$G$"$k$+$H8@$C$F$$$k$+$r>ZL@$9$k4X?t$G$J$/$F$O$J\e(B
+\e$B$j$^$;$s!#=i4|@_Dj$G$O\e(B @code{mc-verify} \e$B$G$"$j!"$3$l$O\e(B Mailcrypt \e$B4X?t$G\e(B
+\e$B$9!#$b$7$3$l$,Hs>o$KCY$/$F!"$"$J$?$,>ZL@7k2L$r5$$K$7$J$$\e(B (\e$B$3$l$O$?$V$s4m\e(B
+\e$B81$G$9\e(B) \e$B$N$G$"$l$P!"$3$NJQ?t$r\e(B @code{nil} \e$B$K$9$k$3$H$,$G$-$^$9!#\e(B
+
+\e$B$b$7=pL>:Q$_$N\e(B NoCeM \e$B%a%C%;!<%8$r>ZL@:Q$_!"L$=pL>$N%a%C%;!<%8$rL$>Z\e(B
+\e$BL@\e(B (\e$B$G$b$=$l$r;H$&\e(B) \e$B$H$7$?$$$N$J$i!"0J2<$N$h$&$K$9$k$3$H$,$G$-$^$9!#\e(B
+
+@lisp
+(setq gnus-nocem-verifyer 'my-gnus-mc-verify)
+
+(defun my-gnus-mc-verify ()
+ (not (eq 'forged
+ (ignore-errors
+ (if (mc-verify)
+ t
+ 'forged)))))
+@end lisp
+
+\e$B$^$"!"$3$l$O$?$V$s4m81$G$7$g$&$1$I$M!#\e(B
+
+@item gnus-nocem-directory
+@vindex gnus-nocem-directory
+\e$B$3$l$O\e(B gnus \e$B$,\e(B NoCeM \e$B%-%c%C%7%e%U%!%$%k$rJ]B8$9$k>l=j$G$9!#=i4|@_DjCM\e(B
+\e$B$O\e(B @file{~/News/NoCeM/} \e$B$G$9!#\e(B
+
+@item gnus-nocem-expiry-wait
+@vindex gnus-nocem-expiry-wait
+\e$B8E$$\e(B NoCeM \e$B9`L\$r%-%c%C%7%e$+$i>C$9$^$G$NF|?t!#=i4|@_DjCM$O\e(B 15 \e$B$G$9!#$3\e(B
+\e$B$l$rC;$/$9$k$[$I\e(B gnus \e$B$OB.$/$J$j$^$9$,!"8E$$\e(B spam \e$B$r8+$k$3$H$K$J$C$F$7$^\e(B
+\e$B$&$+$b$7$l$^$;$s!#\e(B
+
+@item gnus-nocem-check-from
+@vindex gnus-nocem-check-from
+\e$BHs\e(B@code{nil} \e$B$G$O!"5-;v$N%\%G%#$K$"$kH/9T?M$N@5Ev@-$rD4$Y$^$9!#$=$&$G$J\e(B
+\e$B$$>l9g$O!"Cx<T$,@5$7$$H/9T?M$G$J$/$F$b5$$K$;$:$K5-;v$r<h$j9~$_$^$9$,!"$b\e(B
+\e$B$7$"$J$?$,@5$7$$H/9T?M$r8+J,$1$i$l$k$J$i$P!"$=$&$7$?J}$,$H$F$bB.$/$J$k$G\e(B
+\e$B$7$g$&!#\e(B
+
+@item gnus-nocem-check-article-limit
+@vindex gnus-nocem-check-article-limit
+\e$BHs\e(B@code{nil} \e$B$G!"A4$F$N\e(B NoCeM \e$B%0%k!<%W$K$*$1$k%A%'%C%/$9$k5-;v$N:GBg?t$r\e(B
+\e$B;XDj$7$^$9!#\e(BNoCeM \e$B%0%k!<%W$O5pBg$K$J$k$3$H$,$"$j!"$=$&$J$k$H=hM}$,$H$F$b\e(B
+\e$BCY$/$J$j$^$9!#\e(B
+@end table
+
+NoCeM \e$B$r;H$&$H!"$b$7$+$9$k$H%a%b%j6t$$$K$J$k$+$b$7$l$^$;$s!#$"$J$?$,$?$/\e(B
+\e$B$5$s$N@8$-$?%0%k!<%W\e(B (\e$B$D$^$j9XFI$"$k$$$OHs9XFI%0%k!<%W\e(B) \e$B$r;}$C$F$$$k$N$J\e(B
+\e$B$i!"\e(BEmacs \e$B%W%m%;%9$OBg$-$/$J$C$F$7$^$&$G$7$g$&!#$b$7$3$l$,LdBj$G$"$l$P!"\e(B
+\e$BHs9XFI$N%0%k!<%W$rA4It\e(B (\e$B$"$k$$$O$=$NB?$/$r\e(B) \e$B>C$75n$C$F$7$^$C$?J}$,NI$$$G\e(B
+\e$B$9\e(B (@pxref{Subscription Commands})\e$B!#\e(B
+
+@node Undo
+@section \e$B$d$jD>$7\e(B
+@cindex undo
+
+\e$B<B9T$7$?$3$H$N$d$jD>$7$,$G$-$k$H!"$H$F$bJXMx$G$9!#IaDL$N\e(B Emacs \e$B%P%C%U%!\e(B
+\e$B$G$O!"$3$l$O==J,4JC1$G$9\e(B --- \e$BC1$K\e(B @code{undo} \e$B%\%?%s$r2!$9$@$1$G$9!#$7$+\e(B
+\e$B$7\e(B gnus \e$B$N%P%C%U%!$G$O!"$3$l$O4JC1$G$O$"$j$^$;$s!#\e(B
+
+Gnus \e$B$,%P%C%U%!!<Fb$KI=<($7$F$$$k$b$N$O!"\e(Bgnus \e$B$K$H$C$F$OA4$/2?$N2ACM$b$"\e(B
+\e$B$j$^$;$s\e(B --- \e$B$3$l$O$_$s$J!"MxMQ<T$K4qNo$K8+$($k$h$&$K%G%6%$%s$5$l$F$$$k\e(B
+\e$B$?$@$N%G!<%?$J$N$G$9!#\e(B@kbd{C-k} \e$B$G%0%k!<%W%P%C%U%!$+$i%0%k!<%W$r>C5n$9$k\e(B
+\e$B$N$O!"$=$N9T$O>C$(5n$j$^$9$,!"$=$l$O<B:]$NF0:n\e(B --- \e$BLdBj$N%0%k!<%W\e(B
+\e$B$r\e(B gnus \e$B$NFbIt9=B$BN$+$i:o=|$9$k$3$H!"$NC1$J$kI{:nMQ$G$7$+$"$j$^$;$s!#$3\e(B
+\e$B$l$i$N$d$jD>$7$O!"DL>o$N\e(B Emacs \e$B$N\e(B @code{undo} \e$B4X?t$G$O9T$J$&$3$H$,$G$-$^\e(B
+\e$B$;$s!#\e(B
+
+Gnus \e$B$O!"MxMQ<T$,2?$r$9$k$+$r21$($F$*$-!"$=$NMxMQ<T$NF0:n$N5U$r9T$J$&F0\e(B
+\e$B:n$rDs6!$9$k$3$H$K$h$C$F!"$3$l$r2?$H$+5_:Q$7$h$&$H$7$^$9!#$=$7$FMxMQ<T\e(B
+\e$B$,\e(B @code{undo} \e$B%-!<$r2!$7$?$H$-!"\e(Bgnus \e$B$O$=$N0l$D<jA0$NF0:n$"$k$$$OF0:n72\e(B
+\e$B$N5U$N%3!<%I$r<B9T$7$^$9!#$7$+$7!"A4$F$NF0:n$,4JC1$K2D5U$G$"$k$o$1$G$O$J\e(B
+\e$B$$$N$G!"\e(Bgnus \e$B$O8=:_!"$d$jD>$72DG=$J%-!<4X?t$O6O$+$7$+Ds6!$7$F$$$^$;$s!#\e(B
+\e$B$3$l$i$O!"%0%k!<%W$N:o=|!"%0%k!<%W$NE=$jIU$1!"%0%k!<%W$N4{FI5-;v$N%j%9%H\e(B
+\e$B$NJQ99!"$=$l$@$1$J$s$G$9!#>-Mh$O$b$C$H4X?t$,DI2C$5$l$k$+$b$7$l$^$;$s$,!"\e(B
+\e$B4X?t$NDI2C$O$=$l$>$lJ]B8$9$k$Y$-%G!<%?$rA}$d$9$3$H$K$J$k$N$G!"\e(Bgnus \e$B$O7h\e(B
+\e$B$7$F40A4$d$jD>$72DG=$K$O$J$i$J$$$G$7$g$&!#\e(B
+
+@findex gnus-undo-mode
+@vindex gnus-use-undo
+@findex gnus-undo
+\e$B$d$jD>$75!G=$O\e(B @code{gnus-undo-mode} \e$B%^%$%J!<%b!<%I$K$h$C$FDs6!$5$l$^$9!#\e(B
+\e$B$3$l$O\e(B @code{gnus-use-undo} \e$B$,\e(B @code{nil} \e$B0J30$G$"$l$P;HMQ$5$l!"$3$l$,=i\e(B
+\e$B4|@_Dj$G$9!#\e(B@kbd{C-M-_} \e$B%-!<$,\e(B @code{gnus-undo} \e$BL?Na$r<B9T$7$^$9!#$3$l$O\e(B
+\e$BDL>o$N\e(B Emacs \e$B$N\e(B @code{undo} \e$BL?Na$K$A$g$C$H$@$1;w$F$$$k$H;W$o$l$k$G$7$g$&!#\e(B
+
+@node Predicate Specifiers
+@section \e$B=R8l$N@_Dj\e(B
+@cindex predicate specifiers
+
+\e$B$$$/$D$+$N\e(B gnus \e$B$NJQ?t\e(B
+\e$B$O\e(B @dfn{\e$B=R8l;X<(;R\e(B} (@dfn{predicate specifiers}) \e$B$G$9!#$3$l$O=R8l$N;EMM\e(B
+\e$B$KM;DL$r8z$+$;$k$3$H$,$G$-$kFCJL$J7A<0$G$9!#\e(B
+
+\e$B$3$l$i$N;X<(;R$O4X?t$K$h$k%j%9%H!"%7%s%\%k$^$?$O%j%9%H$G$9!#\e(B
+
+\e$B$3$l$ONc$G$9\e(B:
+
+@lisp
+(or gnus-article-unseen-p
+ gnus-article-unread-p)
+@end lisp
+
+\e$BMxMQ$G$-$k%7%s%\%k$O\e(B @code{or}\e$B!"\e(B@code{and} \e$B$*$h$S\e(B @code{not} \e$B$G$9!#4X?t\e(B
+\e$B$O$9$Y$F0l$D$N%Q%i%a!<%?$r<u$1<h$j$^$9!#\e(B
+
+@findex gnus-make-predicate
+\e$BFbItE*$K!"\e(Bgnus \e$B$O8F$V$3$H$,$G$-$k4X?t$r:n$k$?$a$K!"$3$l$i$N;X<(;R$K$D$$\e(B
+\e$B$F\e(B @code{gnus-make-predicate} \e$B$r;H$$$^$9!#$3$N4X?t$X$N$3$NF~NO%Q%i%a!<%?\e(B
+\e$B$O!"=R8l;X<(;R$N$9$Y$F$N4X?t$KEO$5$l$^$9!#\e(B
+
+@node Moderation
+@section \e$B;J2qLr\e(B
+@cindex moderation
+
+\e$B$b$7$"$J$?$,;J2q<T\e(B (\e$B%b%G%l!<%?!<\e(B) \e$B$J$i$P!"\e(B@file{gnus-mdrtn.el} \e$B%Q%C%1!<\e(B
+\e$B%8$r;H$&$3$H$,$G$-$^$9!#$3$l$OI8=`\e(B gnus \e$B%Q%C%1!<%8$K$O4^$^$l$^$;$s!#\e(B
+@samp{larsi@@gnus.org} \e$B$K!"$I$N%0%k!<%W$N;J2q$r9T$J$&$N$+$r=R$Y$?%a!<%k\e(B
+\e$B$r=q$$$F$/$@$5$$!#$=$&$9$l$P%3%T!<$r<j$KF~$l$i$l$^$9!#\e(B
+
+\e$B;J2q<TMQ%Q%C%1!<%8$O35N,%P%C%U%!$N%^%$%J!<%b!<%I$H$7$F<BAu$5$l$F$$$^$9!#\e(B
+
+@lisp
+(add-hook 'gnus-summary-mode-hook 'gnus-moderate)
+@end lisp
+
+\e$B$r$"$J$?$N\e(B @file{~/.gnus.el} \e$B%U%!%$%k$KF~$l$F$/$@$5$$!#\e(B
+
+\e$B$"$J$?$,\e(B @samp{rec.zoofle} \e$B$N;J2q<T$@$H$9$k$H!"$3$l$O0J2<$N$h$&$KF0:n$9\e(B
+\e$B$k$h$&$K$J$C$F$$$^$9!#\e(B
+
+@enumerate
+@item
+@samp{Newsgroups:.*rec.zoofle} \e$B$K%^%C%A$9$k<u?.%a!<%k$rJ,N%$7$^$9!#$3$l\e(B
+\e$B$OEj9F$5$l$h$&$H$7$F$$$k5-;v$rA4$F$"$k%a!<%k%0%k!<%W\e(B --- \e$BNc$(\e(B
+\e$B$P\e(B @samp{nnml:rec.zoofle} \e$B$KF~$l$^$9!#\e(B
+
+@item
+\e$B$"$J$?$O;~@^$3$N%0%k!<%W$KF~$j!"\e(B@kbd{e} (edit-and-post) \e$B$"$k$$\e(B
+\e$B$O\e(B @kbd{s} (just send unedited) \e$BL?Na$r;H$C$F5-;v$rEj9F$7$^$9!#\e(B
+
+@item
+@samp{rec.zoofle} \e$B%K%e!<%9%0%k!<%W$rFI$s$G$$$kESCf$G!"$b$7$"$J$?$,>5G'$7\e(B
+\e$B$F$$$J$$5-;v$r$?$^$?$^8+$D$1$?$H$7$?$i!"\e(B@kbd{c} \e$BL?Na$G<h$j>C$7$G$-$^$9!#\e(B
+@end enumerate
+
+\e$BFs$D$N%0%k!<%W$G;J2q<T%b!<%I$r;H$&$H$9$l$P!"$3$&$J$j$^$9!#\e(B
+
+@lisp
+(setq gnus-moderated-list
+ "^nnml:rec.zoofle$\\|^rec.zoofle$")
+@end lisp
+
+@node Image Enhancements
+@section \e$B2hA|$N3HD%\e(B
+
+XEmacs \e$B$=$l$K\e(B Emacs 21@footnote{MS \e$B%&%#%s%I%&%:$N\e(B Emacs 21 \e$B$O$^$@2hA|$r\e(B
+\e$B%5%]!<%H$7$F$$$^$;$s!#\e(B} \e$B$O3($d$=$NB>$N$b$N$rI=<($9$k$3$H$,$G$-$k$N$G!"\e(B
+gnus \e$B$O$3$l$rMxMQ$9$k$3$H$K$7$^$9!#\e(B
+
+@menu
+* Picons:: \e$B$"$J$?$,FI$s$G$$$k$b$N$N3($rI=<($9$kJ}K!\e(B
+* Smileys:: \e$BI=<($5$l$k$Y$/@8$^$l$?9,$;$=$&$J4i$rI=<($9$kJ}K!\e(B
+* X-Face:: \e$B%U%!%s%-!<$J$A$C$A$c$JGr9u$N3($rI=<($9$k\e(B
+* XVarious:: \e$B$=$NB>$N\e(B XEmacs \e$B$G\e(B Gnus \e$B$JJQ?t\e(B
+@end menu
+
+@node Picons
+@subsection Picons
+
+@iftex
+@iflatex
+\include{picons}
+@end iflatex
+@end iftex
+
+\e$B$=$l$G!D!"$"$J$?$O$3$N%K%e!<%9%j!<%@!<$r$5$i$K$b$C$HCY$/$7$?$$$C$F$o$1$@\e(B
+\e$B$M\e(B! \e$B$3$l$O$=$&$9$k$N$K$T$C$?$j$JJ}K!$G$9!#$5$i$K$3$l$O!"$"$J$?$,%K%e!<%9\e(B
+\e$B$rFI$s$G$$$k$s$@$H$$$&$3$H$r!"$"$J$?$N8*1[$7$K8+$D$a$F$$$k?M$K0u>]$E$1$k\e(B
+\e$B$?$a$NAG@2$i$7$$J}K!$G$b$"$j$^$9!#\e(B
+
+Picon \e$B$H$O$J$s$G$7$g$&\e(B? Picons \e$B%&%'%V%5%$%H$+$iD>@\0zMQ$7$^$7$g$&!#\e(B
+
+@iftex
+@iflatex
+\margindex{}
+@end iflatex
+@end iftex
+
+@quotation
+@dfn{Picon} \e$B$H$O!"\e(B``\e$B8D?M%"%$%3%s\e(B (personal icons)'' \e$B$NN,$G$9!#$3$l$O!"%M%C\e(B
+\e$B%H>e$NMxMQ<T$d%I%a%$%s$rI=8=$9$k$N$K;H$o$l$k$?$a$N>.$5$J2hA|$G!"%G!<%?%Y!<\e(B
+\e$B%9$r;}$?$;$F!"$"$kEE;R%a!<%k%"%I%l%9$,$"$C$?$i!"$=$l$KE,@Z$J2hA|$r8+$D$1\e(B
+\e$B$i$l$k$h$&$K$7$F$*$/$b$N$G$9!#MxMQ<T$H%I%a%$%s0J30$K$b!"\e(BUsenet \e$B%K%e!<%9\e(B
+\e$B%0%k!<%W$dE75$M=Js$N$?$a$N\e(Bpicon \e$B%G!<%?%Y!<%9$,$"$j$^$9!#\e(Bpicon \e$B$OGr9u\e(B
+\e$B$N\e(B @code{XBM} \e$B7A<0$G$b%+%i!<$N\e(B @code{XPM} \e$B7A<0$G$b\e(B @code{GIF} \e$B7A<0$G$b9=\e(B
+\e$B$$$^$;$s!#\e(B
+@end quotation
+
+@vindex gnus-picon-databases
+Picon \e$B%G!<%?%Y!<%9$NF~<j$H%$%s%9%H!<%k$N<j=g$K$D$$$F$O!"%&%'%V%V%i%&%6!<\e(B
+\e$B$G\e(B @uref{http://www.cs.indiana.edu/picons/ftp/index.html} \e$B$rK,$M$F$_$F2<\e(B
+\e$B$5$$!#\e(B
+
+\e$B$b$7\e(B Debian GNU/Linux \e$B$r;H$C$F$$$k$N$J$i!"\e(B@samp{apt-get install
+picons.*} \e$B$H8@$($P\e(B gnus \e$B$,8+$D$1$k$3$H$,$G$-$k\e(B picon \e$B$,%$%s%9%H!<%k$5$l\e(B
+\e$B$^$9!#\e(B
+
+Picon \e$B$NI=<($,$G$-$k$h$&$K$9$k$?$a$K$O!"\e(Bpicon \e$B%G!<%?%Y!<%9$,$"$k%G%#%l%/\e(B
+\e$B%H%j$,!"$?$@C1$K\e(B @code{gnus-picon-databases} \e$B$K@_Dj$5$l$F$$$k$h$&$K$7$F\e(B
+\e$B2<$5$$!#\e(B
+
+\e$B$b$N$4$H$N=j:_$r4IM}$9$k$?$a$K!"0J2<$NJQ?t$r@_$1$F$$$^$9!#\e(B
+
+@table @code
+@item gnus-picons-database
+@vindex gnus-picons-database
+Picon \e$B%G!<%?%Y!<%9$N>l=j$G$9!#$3$l$O\e(B @file{news}, @file{domains},
+@file{users} (\e$B$J$I$J$I\e(B) \e$B$N%5%V%G%#%l%/%H%j!<$,4^$^$l$F$$$k%G%#%l%/%H%j!<\e(B
+\e$B$N%j%9%H$G$9!#\e(B@code{("/usr/lib/picon" "/usr/local/faces")} \e$B$,%G%#%U%)%k\e(B
+\e$B%H$G$9!#\e(B
+
+@item gnus-picon-news-directories
+@vindex gnus-picon-news-directories
+@code{gnus-picons-database} \e$B$+$i%K%e!<%9%0%k!<%WMQ$N%U%'!<%9$rC5$9$?$a$N\e(B
+\e$B%5%V%G%#%l%/%H%j!<$N%j%9%H$G$9!#%G%#%U%)%k%H$O\e(B @code{("news")} \e$B$G$9!#\e(B
+
+@item gnus-picons-user-directories
+@vindex gnus-picons-user-directories
+@code{gnus-picons-database} \e$B$+$i%f!<%6$N%U%'!<%9$rC5$9$?$a$N%5%V%G%#%l%/\e(B
+\e$B%H%j!<$N%j%9%H$G$9!#\e(B@code{("local" "users" "usenix" "misc")} \e$B$,%G%#%U%)\e(B
+\e$B%k%H$G$9!#\e(B
+
+@item gnus-picons-domain-directories
+@vindex gnus-picons-domain-directories
+@code{gnus-picons-database} \e$B$+$i%I%a%$%sL>$N%U%'!<%9$rC5$9$?$a$N%5%V%G%#\e(B
+\e$B%l%/%H%j!<$N%j%9%H$G$9!#%G%#%U%)%k%H$O\e(B @code{("domains")} \e$B$G$9!#$3$N%j%9\e(B
+\e$B%H$K\e(B @samp{"unknown"} \e$B$rDI2C$7$F$*$-$?$/$J$k?M$b$$$k$G$7$g$&!#\e(B
+
+@item gnus-picon-file-types
+@vindex gnus-picon-file-types
+Picon \e$B$N%U%!%$%kL>$H$7$F;n$7$F$_$k3HD%;R$N=gHV%j%9%H$G$9!#%G%#%U%)%k%H$O!"\e(B
+@code{("xpm" "gif" "xbm")} \e$B$+$i\e(B Emacs \e$B$KAH$_9~$^$l$F$$$J$$$b$N$r=|30$7$?\e(B
+\e$B$b$N$G$9!#\e(B
+@end table
+
+@node Smileys
+@subsection \e$B%9%^%$%j!<\e(B
+@cindex smileys
+
+@iftex
+@iflatex
+\gnusfig{-3cm}{0.5cm}{\epsfig{figure=ps/BigFace,height=20cm}}
+\input{smiley}
+@end iflatex
+@end iftex
+
+\e$B%9%^%$%j!<\e(B @dfn{smiley} \e$B$O\e(B gnus \e$B$H$OJL$N%Q%C%1!<%8$G$9$,!"%9%^%$%j!<$r;H$C\e(B
+\e$B$F$$$k%Q%C%1!<%8$O8=:_\e(B gnus \e$B$@$1$G$9$N$G!"$3$3$G@bL@$7$^$9!#\e(B
+
+\e$B0l8@$G8@$($P\e(B --- gnus \e$B$G%9%^%$%j!<$r;H$&$K$O!"0J2<\e(B
+\e$B$r\e(B @file{~/.gnus.el} \e$B%U%!%$%k$K=q$$$F$/$@$5$$!#\e(B
+
+@lisp
+(setq gnus-treat-display-smileys t)
+@end lisp
+
+\e$B%9%^%$%j!<$O!"J8;z$N4i%^!<%/\e(B --- @samp{:-)}, @samp{8-)}, @samp{:-(} \e$B$J$I\e(B
+\e$B$H$$$C$?$b$N\e(B --- \e$B$r3($KBP1~$5$;!"J8;z$N4i%^!<%/$NBe$o$j$K$=$N3($rI=<($7\e(B
+\e$B$^$9!#$3$NJQ49$OJ8;z$K%^%C%A$9$k@55,I=8=$H$=$l$N%U%!%$%kL>$X$NBP1~$N%j%9\e(B
+\e$B%H$G@)8f$5$l$^$9!#\e(B
+
+@vindex smiley-regexp-alist
+\e$B;H$o$l$kO"A[%j%9%H$O!"JQ?t\e(B @code{smiley-regexp-alist} \e$B$G@_Dj$7$^$9!#3FMW\e(B
+\e$BAG$N:G=i$N9`L\$O%^%C%A$5$;$?$$@55,I=8=$G!"FsHVL\$NMWAG$O3($GCV$-49$($?$$\e(B
+\e$B%0%k!<%W$K%^%C%A$9$k@55,I=8=!"$=$7$F;0HVL\$NMWAG$OI=<($5$;$?$$%U%!%$%k$N\e(B
+\e$BL>A0$G$9!#\e(B
+
+\e$B0J2<$NJQ?t$O!"%9%^%$%j!<$,$3$l$i$N%U%!%$%k$rC5$9>l=j$r%+%9%?%^%$%:$7$^$9\e(B:
+
+@table @code
+@item smiley-data-directory
+@vindex smiley-data-directory
+\e$B%9%^%$%j!<$,4i%U%!%$%k$rC5$9>l=j!#\e(B
+
+@item gnus-smiley-file-types
+@vindex gnus-smiley-file-types
+\e$B%9%^%$%j!<$N%U%!%$%kL>$H$7$F;n$7$F$_$k3HD%;R$N%j%9%H$G$9!#\e(B
+@end table
+
+@node X-Face
+@subsection X-Face
+@cindex x-face
+
+@code{X-Face} \e$B%X%C%@!<$O!"%a%C%;!<%8$NCx<T$rI=$o$9$3$H$K$J$C$F$$$k\e(B 48\e$B!_\e(B
+48 \e$B2hAG$NGr9u\e(B (1 bit \e$B$N?<$5\e(B) \e$B$N3($rIA$-$^$9!#$3$l$O?J2=$7B3$1$k$"$^$?$N\e(B
+\e$B%a!<%k$H%K%e!<%9%j!<%@!<$K$h$C$F%5%]!<%H$5$l$k$G$7$g$&!#\e(B
+
+@cindex x-face
+@findex gnus-article-display-x-face
+@findex gnus-article-x-face-command
+@vindex gnus-article-x-face-command
+@vindex gnus-article-x-face-too-ugly
+@iftex
+@iflatex
+\include{xface}
+@end iflatex
+@end iftex
+@c @anchor{X-Face}
+
+@code{X-Face} \e$B%X%C%@!<$NI|9f$K$O!"\e(BEmacs \e$B$,\e(B @samp{compface} \e$B$r%5%]!<\e(B
+\e$B%H\e(B (XEmacs \e$B$N$[$H$s$I$,%5%]!<%H\e(B) \e$B$7$F$$$k$+!"$"$J$?$N%7%9%F%`\e(B
+\e$B$K\e(B @samp{compface} \e$B$,%$%s%9%H!<%k$5$l$F$$$kI,MW$,$"$j$^$9!#$b$7$I$A$i$+\e(B
+\e$B$,??$J$i$P!"\e(Bgnus \e$B$O%G%#%U%)%k%H$G\e(B @code{X-Face} \e$B%X%C%@!<$rI=<($7$^$9!#\e(B
+
+\e$B$3$l$r@)8f$9$k$N$OJQ?t\e(B @code{gnus-article-x-face-command} \e$B$G$9!#$3$NJQ?t\e(B
+\e$B$,J8;zNs$J$i$P!"$3$NJ8;zNs$,%5%V%7%'%k$G<B9T$5$l$^$9!#4X?t$J$i$P!"$3$N4X\e(B
+\e$B?t$,4i$r0z?t$H$7$F8F$P$l$^$9!#$b\e(B
+\e$B$7\e(B @code{gnus-article-x-face-too-ugly} (\e$B$3$l$O@55,I=8=$G\e(B
+\e$B$9\e(B) \e$B$,\e(B @code{From} \e$BMs$K9gCW$9$l$P!"4i$OI=<($5$l$^$;$s!#\e(B
+
+Emacs 20 \e$B$G$N%G%#%U%)%k%H$NF0:n$O\e(B @code{display} \e$B%W%m%0%i\e(B
+\e$B%`\e(B @footnote{@code{display} \e$B$O\e(B ImageMagick \e$B%Q%C%1!<%8$K4^$^$l$F$$$^$9!#\e(B
+@code{uncompface} \e$B$H\e(B @code{icontopbm} \e$B$NN>%W%m%0%i%`$K$D$$$F$O!"\e(B
+`compface' \e$B$d\e(B GNU/Linux \e$B%7%9%F%`$K$*$1$k\e(B `faces-xface' \e$B$N$h$&$J%Q%C%1!<\e(B
+\e$B%8$rC5$7$F2<$5$$!#\e(B} \e$B$r%U%)!<%/$7$F8+$h$&$H$7$^$9!#\e(B
+
+XEmacs \e$B$+@E;_2h$r%5%]!<%H$7$F$$$k\e(B Emacs 21+ \e$B$G$N%G%#%U%)%k%H$NF0:n\e(B
+\e$B$O\e(B @code{From} \e$BMs$NA0$K4i$rI=<($9$k$3$H$G$9!#\e(B(XEmacs \e$B$,\e(B X-Face \e$B5!G=IU$-\e(B
+\e$B$G%3%s%Q%$%k$5$l$F$$$k$HNI$$$G$7$g$&!=!=$=$l$OI=<($r>/$7Aa$/$7$^$9!#$b$7\e(B
+\e$B:,K\E*\e(B X-Face \e$B5!G=$,$J$$$N$G$"$l$P!"\e(Bgnus \e$B$O\e(B @code{pbmplus} \e$B$d$=$NCg4V$N\e(B
+\e$B30It%W%m%0%i%`$r;H$C$F\e(B @code{X-Face} \e$BMs$rJQ49$7$h$&$H;n$_$^$9\e(B @footnote{
+GNU/Linux \e$B%7%9%F%`$G$O\e(B @code{netpbm}\e$B!"\e(B@code{libgr-progs} \e$B$^$?\e(B
+\e$B$O\e(B @code{compface} \e$B$N$h$&$JL>A0$N%Q%C%1!<%8$rC5$7$F2<$5$$!#\e(B}\e$B!#\e(B)
+
+(\e$BCm\e(B: \e$BJQ?t\e(B/\e$B4X?tL>$K$O\e(B @code{xface} \e$B$G$O$J$/\e(B @code{x-face} \e$B$,;H$o$l$^$9!#\e(B)
+
+gnus \e$B$O!"30$K=P$9%a%C%;!<%8$K\e(B X-Face \e$B%X%C%@!<$r4JC1$KA^F~$9$k$?$a$N!"JX\e(B
+\e$BMx$J4X?t$HJQ?t$r>/$7$P$+$jDs6!$7$^$9!#\e(B
+
+@findex gnus-random-x-face
+@vindex gnus-convert-pbm-to-x-face-command
+@vindex gnus-x-face-directory
+@code{gnus-random-x-face} \e$B$O\e(B @code{gnus-x-face-directory} \e$B$K$"$k$9$Y$F\e(B
+\e$B$N\e(B @samp{pbm} \e$B$r$/$^$J$/C5$7$F%i%s%@%`$K0l$D$rA*$S<h$j!"%7%'%k%3%^%s\e(B
+\e$B%I\e(B @code{gnus-convert-pbm-to-x-face-command} \e$B$r;H$C$F$=$l$r\e(B X-Face \e$B$N7A\e(B
+\e$B<0$KJQ49$7$^$9!#\e(B@samp{pbm} \e$B%U%!%$%k$O\e(B 48\e$B!_\e(B48 \e$B2hAG$NBg$-$5$G$J$1$l$P$J$j\e(B
+\e$B$^$;$s!#$=$l$O\e(B X-Face \e$B%X%C%@!<$N%G!<%?$rJ8;zNs$GJV$7$^$9!#\e(B
+
+@findex gnus-insert-random-x-face-header
+@code{gnus-insert-random-x-face-header} \e$B$O\e(B @code{gnus-random-x-face} \e$B$r\e(B
+\e$B8F$s$G!"%i%s%@%`$K@8@.$5$l$?%G!<%?$K$h$k\e(B X-Face \e$B%X%C%@!<$rA^F~$7$^$9!#\e(B
+
+@findex gnus-x-face-from-file
+@vindex gnus-convert-image-to-x-face-command
+@code{gnus-x-face-from-file} \e$B$O%Q%i%a!<%?$H$7$F\e(B GIF \e$B%U%!%$%k$r<u$1<h$j!"\e(B
+\e$B%7%'%k%3%^%s%I\e(B @code{gnus-convert-image-to-x-face-command} \e$B$r;H$C$F$=$N\e(B
+\e$B%U%!%$%k$r\e(B X-Face \e$B$N7A<0$KJQ49$7$^$9!#\e(B
+
+\e$B0lHVL\$O0lHLE*$K;H$&$G$"$m$&4X?t$G$9!#0J2<$N$h$&$J$b$N\e(B
+\e$B$r\e(B @file{~/.gnus.el} \e$B%U%!%$%k$K=q$$$F2<$5$$\e(B:
+
+@lisp
+(setq message-required-news-headers
+ (nconc message-required-news-headers
+ (list '(X-Face . gnus-random-x-face))))
+@end lisp
+
+\e$B:G8e$N4X?t$r;H$&$N$O!"$3$N$h$&$K$J$k$G$7$g$&\e(B:
+
+@lisp
+(setq message-required-news-headers
+ (nconc message-required-news-headers
+ (list '(X-Face . (lambda ()
+ (gnus-x-face-from-file
+ "~/My-face.gif"))))))
+@end lisp
+
+@node XVarious
+@subsection \e$B$5$^$6$^$J\e(B XEmacs \e$BJQ?t\e(B
+
+@table @code
+@item gnus-xmas-glyph-directory
+@vindex gnus-xmas-glyph-directory
+\e$B$3$l$O\e(B gnus \e$B$,3($rC5$9>l=j$G$9!#\e(BGnus \e$B$ODL>o$3$N%G%#%l%/%H%j$r<+F08!=P$7\e(B
+\e$B$^$9$,!"$b$7I8=`E*$G$J$$%G%#%l%/%H%j!<9=B$$r;}$C$F$$$k>l9g$O!"$3$l$r<jF0\e(B
+\e$B$G@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+
+@item gnus-xmas-logo-color-alist
+@vindex gnus-xmas-logo-color-alist
+\e$B$3$l$OO"A[%j%9%H$G!"%-!<$O<oJL%7%s%\%k!"CM$O%?%$%H%kJG3(J8;z$NA0LL?'$HGX\e(B
+\e$B7J?'$G$9!#\e(B
+
+@item gnus-xmas-logo-color-style
+@vindex gnus-xmas-logo-color-style
+\e$B$3$l$OA05-$NO"A[%j%9%H$G?'$r8!:w$9$k$N$K;H$o$l$k%-!<$G$9!#M-8z$JCM$K\e(B
+\e$B$O\e(B @code{flame}, @code{pine}, @code{moss}, @code{irish}, @code{sky},
+@code{tin}, @code{velvet}, @code{grape}, @code{labia}, @code{berry},
+@code{neutral}, @code{september} \e$B$,$"$j$^$9!#\e(B
+
+@item gnus-xmas-modeline-glyph
+@vindex gnus-xmas-modeline-glyph
+\e$BA4$F$N\e(B gnus \e$B%b!<%I9T$GI=<($5$l$k3(J8;z!#$3$l$O=i4|@_Dj$G$O$A$$$5$J\e(B
+\e$B%L!<\e(B (gnu) \e$B$NF,$G$9!#\e(B
+@end table
+
+@subsubsection \e$B%D!<%k%P!<\e(B
+
+@table @code
+@item gnus-use-toolbar
+@vindex gnus-use-toolbar
+@code{nil} \e$B$J$i$P%D!<%k%P!<$rI=<($7$^$;$s!#\e(B@code{nil} \e$B0J30$N>l9g$O!"\e(B
+@code{default-toolbar}, @code{top-toolbar}, @code{bottom-toolbar},
+@code{right-toolbar}, @code{left-toolbar} \e$B$N$I$l$+$G$J$/$F$O$J$j$^$;$s!#\e(B
+
+@item gnus-group-toolbar
+@vindex gnus-group-toolbar
+\e$B%0%k!<%W%P%C%U%!Fb$N%D!<%k%P!<$G$9!#\e(B
+
+@item gnus-summary-toolbar
+@vindex gnus-summary-toolbar
+\e$B35N,%P%C%U%!Fb$N%D!<%k%P!<$G$9!#\e(B
+
+@item gnus-summary-mail-toolbar
+@vindex gnus-summary-mail-toolbar
+\e$B%a!<%k%0%k!<%W$N35N,%P%C%U%!Fb$N%D!<%k%P!<$G$9!#\e(B
+@end table
+
+@iftex
+@iflatex
+\margindex{}
+@end iflatex
+@end iftex
+
+@node Fuzzy Matching
+@section \e$B%U%!%8!<$J0lCW\e(B
+@cindex fuzzy matching
+
+Gnus \e$B$O!"%9%3%"IU$1!"%9%l%C%I$N7A@.!"%9%l%C%IHf3S$J$I$r9T$&$H$-$K!"\e(B
+@code{Subject} \e$B9T$N%U%!%8!<$J0lCW\e(B @dfn{fuzzy matching} \e$BJ}K!$rDs6!$7$F$$\e(B
+\e$B$^$9!#\e(B
+
+\e$B@55,I=8=0lCW$H$O0c$C$F!"%U%!%8!<$J0lCW$O$H$C$F$b%U%!%8!<$G$9!#$"$^$j$K$b\e(B
+\e$B%U%!%8!<$9$.$F!"2?$,%U%!%8!<\e(B @dfn{fuzziness} \e$B$G$"$k$+$H$$$&Dj5A$5$($"$j\e(B
+\e$B$^$;$s$7!"<BAu$b2?EY$bJQ99$5$l$F$$$^$9!#\e(B
+
+\e$B4pK\E*$K$O!"$3$l$OHf3S$NA0$K9T$+$i<YKbJ*$r<h$j=|$3$&$H$7$^$9!#\e(B
+@samp{Re: } \e$B$dA^F~6g$N0u$d6uGrJ8;zEy!9$OJ8;zNs$+$i=|5n$5$l!"$=$N7k2L$rHf\e(B
+\e$B3S$7$^$9!#$3$l$O$[$H$s$I$N>l9gBEEv$J7k2L$r=P$7$^$9\e(B --- \e$B$?$H$(%K%e!<%9%j!<\e(B
+\e$B%@!<$N2>LL$r$+$V$C$?J8;zNs@Z$j9o$_5!$G@8@.$5$l$?J8;zNs$,:9$7=P$5$l$F$b!"\e(B
+\e$B$G$9!#\e(B
+
+@node Thwarting Email Spam
+@section spam \e$B%a!<%k$NN"$r$+$/\e(B
+@cindex email spam
+@cindex spam
+@cindex UCE
+@cindex unsolicited commercial email
+
+\e$B$3$3:G6a$N\e(B USENET \e$B$G$O!"@kEA$N%O%2%?%+$I$b$,!"H`$i$N:>5=$d@=IJ$r2!$7IU$1\e(B
+\e$B$k$?$a$NEE;R%a!<%k%"%I%l%9$rC5$=$&$H$7$F!"5$0c$$$N$h$&$K%K%e!<%9>e$r$&$m\e(B
+\e$B$D$$$F\e(B grep \e$B$7$^$/$C$F$$$^$9!#$3$l$KBP$9$kH?F0$H$7$F!"B?$/$N?M!9\e(B
+\e$B$,\e(B @code{From} \e$B9T$KL50UL#$J%"%I%l%9$rF~$l$O$8$a$k$h$&$K$J$C$F$7$^$$$^$7\e(B
+\e$B$?!#$3$l$OHs@8;:E*$J$3$H$@$H;d$O;W$$$^$9\e(B --- \e$B$"$J$?$,=q$$$?$3$H$KBP$9$k\e(B
+\e$BJV?.$H$7$F@5Ev$J%a!<%k$rAw$k$3$H$rLLE]$K$5$;!"$^$?C/$,=q$$$?$b$N$J$N$+$r\e(B
+\e$BJ,$+$j$E$i$/$7$^$9!#$3$s$J=q$-49$($O7k6I$O!"2!$7IU$1@kEA%a!<%k$=$l<+?H$h\e(B
+\e$B$j$bBg$-$J6<0R$H$J$k$+$b$7$l$^$;$s!#\e(B
+
+\e$B;d$K$H$C$F$N\e(B spam \e$B%a!<%k$N:GBg$NLdBj$O!"13$N8}<B$GF~$C$F$/$k$+$i$G$9!#;d\e(B
+\e$B$,\e(B @kbd{g} \e$B$r2!$7$?$H$9$k$H!"\e(Bgnus \e$B$O==DL$N?7Ce%a!<%k$,$"$j$^$9$HM[5$$K;d\e(B
+\e$B$K65$($F$/$l$^$9!#;d$O\e(B ``\e$B$*$*$C!"$o!<$$\e(B! \e$BKM$C$F9,$;\e(B!'' \e$B$H8@$C$F%a!<%k%0\e(B
+\e$B%k!<%W$rA*Br$7$^$9!#$7$+$7$=$3$K$O!"Fs$D$N%M%:%_9V$H!"<7$D$N9-\e(B
+\e$B9p\e(B (``\e$B:G?7\e(B! \e$B4q@W$NA}LS%H%K%C%/!"$U$5$U$5$G$D$d$D$d$NH1$r!"$"$J$?$N$D$^@h\e(B
+\e$B$^$G\e(B!'') \e$B$H!"2y$$2~$a?@$r?.$8$h!"$H$$$&0l$D$N%a!<%k$,$"$k$@$1$J$N$G$9!#\e(B
+
+\e$B$3$l$OITL{2w$G$9!#$"$J$?$,$=$l$K4X$7$F$G$-$k$3$H$,$"$j$^$9!#\e(B
+
+@menu
+* The problem of spam:: \e$BGX7J!"$=$7$F2r7h\e(B
+* Anti-Spam Basics:: \e$B$?$/$5$s$N\e(B spam \e$B$r8:$i$94JC1$JJ}K!\e(B
+* SpamAssassin:: Spam \e$BBP:v%D!<%k$N;H$$J}\e(B
+* Hashcash:: CPU \e$B;~4V$rHq$d$7$F\e(B spam \e$BB`<#$9$k\e(B
+* Filtering Spam Using The Spam ELisp Package::
+* Filtering Spam Using Statistics with spam-stat::
+@end menu
+
+@node The problem of spam
+@subsection Spam \e$B$NLdBj\e(B
+@cindex email spam
+@cindex spam filtering approaches
+@cindex filtering approaches, spam
+@cindex UCE
+@cindex unsolicited commercial email
+
+\e$B=i$a$K\e(B spam \e$B$NGX7J$+$i!#\e(B
+
+\e$B$"$J$?$,EE;R%a!<%k$r;H$C$F$$$k$J$i$P!"\e(Bspam (\e$B@lLgMQ8l$H$7$F$O\e(B Unsolicited
+Commercial E-mail -- \e$BK>$^$l$J$$>&MQEE;R%a!<%k\e(B -- \e$B$NF,J8\e(B
+\e$B;z\e(B @acronym{UCE}) \e$B$N$3$H$O$h$/CN$C$F$$$k$G$7$g$&!#4JC1$K8@$($P$=$l$O;f$N\e(B
+\e$B%a!<%k$KHf$Y$FEE;R%a!<%k$NG[Aw$,$H$F$b0B$/$D$/$?$a$KB8:_$7!"Hs>o$K>.$5$J\e(B
+\e$B3d9g$N?M!9$,\e(B UCE \e$B$K1~Ez$9$k$@$1$G9-9p<g$KMx1W$r$b$?$i$9$N$G$9!#HiFy$J$3\e(B
+\e$B$H$K:G$b0lHLE*$J\e(B spam \e$B$N0l$D$O!"$5$i$K\e(B spam \e$B$r=uD9$9$k$?$a$NEE;R%a!<%k%"\e(B
+\e$B%I%l%9$N%G!<%?%Y!<%9$rDs6!$7$^$9!#\e(BSpam \e$B$NAw?.<T$O$U$D\e(B
+\e$B$&\e(B @emph{spammers} \e$B$H8F$P$l$^$9$,!"\e(B@emph{vermin}\e$B!"\e(B@emph{scum} \e$B$*$h\e(B
+\e$B$S\e(B @emph{morons} \e$B$N$h$&$JMQ8l$b$h$/;H$o$l$F$$$^$9!#\e(B
+
+Spam \e$B$O<o!9$5$^$6$^$J=P$I$3$m$+$i$d$C$FMh$^$9!#M-MQ$J%a%C%;!<%8$r<N$F$:\e(B
+\e$B$K$9$Y$F$N\e(B spam \e$B$rC1$K;OKv$9$k$3$H$OIT2DG=$G$9!#NI$$Nc$O\e(B TMDA (\e$BLuCm\e(B: \e$BAw\e(B
+\e$B?.$9$kEY$K%f%K!<%/$J%"%I%l%9$r;H$&\e(B) \e$B%7%9%F%`$G!"$=$l$O$"$J$?$,CN$i$J$$Aw\e(B
+\e$B?.<T$K!"H`$i$NEE;R%a!<%k$,FO$/A0$KH`$i$,@5Ev$JAw?.<T$G$"$k$3$H$N3NG'$r5a\e(B
+\e$B$a$^$9!#@5Ev$J=P$I$3$m$+$i$NEE;R%a!<%k$,\e(B TMDA \e$B%7%9%F%`$K$h$C$F$=$l$i$N=P\e(B
+\e$B$I$3$m$,3NG'$G$-$J$$!"$^$?$O9T$J$o$l$J$$>l9g$O<N$F$i$l$F$7$^$&$+$b$7$l$J\e(B
+\e$B$$$H$$$&%^%$%J%9LL$O!"\e(BTMDA \e$B$N5;=QE*$JB&LL$KN)$AF~$i$J$/$F$bL@Gr$G$9!#$b\e(B
+\e$B$&0l$D$N\e(B TMDA \e$B$NLdBj$O!"EE;R%a!<%k$NG[Aw$H=hM}$X$N4pK\E*$JM}2r$r%f!<%6!<\e(B
+\e$B$K5a$a$F$$$k$3$H$G$9!#\e(B
+
+Spam \e$B$N=|5n\e(B (filtering) \e$B$X$N:G$bC1=c$J<h$jAH$_$O_I2a$9$k$3\e(B
+\e$B$H\e(B (filtering) \e$B$G$9!#KhF|\e(B @samp{random-address@@vmadmin.com} \e$B$+$i\e(B 200\e$BDL\e(B
+\e$B$N\e(B spam \e$B%a%C%;!<%8$r<u$1<h$k$N$J$i$P!"\e(B@samp{vmadmin.com} \e$B$rAK;_$9$l$P$h\e(B
+\e$B$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$$!#$3$l\e(B
+\e$B$O!";DG0$J$,$i@5Ev$JEE;R%a!<%k$r<N$F$k$?$a$N$9$0$l$?J}K!$G$9!#Nc$($P!"$H\e(B
+\e$B$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$H6&\e(B
+\e$BDL$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!#$=$l$G$b$J$*8IN)$7$?4D6-$G$O!"Cm0U?<$/;H$&$3$H$K$h$C$F\e(B
+\e$BD>@\$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 --
+@uref{http://www.rhyolite.com/anti-spam/dcc/}) \e$B$,$=$N$h$&$J%7%9%F%`$rF3\e(B
+\e$BF~$7$F$$$^$9!#K\<AE*$K$O!"@$3&Cf$N\e(B @code{N} \e$B8D$N%7%9%F%`$,!"Cf9q!"%,!<%J\e(B
+\e$B$"$k$$$O%+%j%U%)%k%K%"$K$"$k%^%7%s\e(B @samp{X} \e$B$,\e(B spam \e$BEE;R%a!<%k$rAw=P$7$F\e(B
+\e$B$$$k$3$H$rG'$a$?$i!"$=$l$i\e(B @code{N} \e$B8D$N%7%9%F%`$O\e(B @samp{X} \e$B$^$?\e(B
+\e$B$O\e(B @samp{X} \e$B$+$i$d$C$FMh$?\e(B spam \e$B%a!<%k$r%G!<%?%Y!<%9$K5-F~$7$^$9!#\e(B
+Spam \e$B8!=P$N4p=`$OJQ$o$j$^$9!#$=$l$OAw$i$l$?%a%C%;!<%8$N?t$d%a%C%;!<%8$N\e(B
+\e$BFbMF$J$I$G$"$k$+$b$7$l$^$;$s!#%a%C%;!<%8$,\e(B spam \e$B$+$I$&$+$rJ,;6=hM}%7%9%F\e(B
+\e$B%`$N%f!<%6$,CN$j$?$$>l9g!"H`$O$=$l$i$N\e(B @code{N} \e$B8D$N%7%9%F%`$N$&$A$N0l$D\e(B
+\e$B$rD4$Y$^$9!#\e(B
+
+\e$BJ,;67?\e(B spam \e$B=hM}$OF1;~$KB?$/$N%a%C%;!<%8$rAw$k\e(B spammers \e$B$HHs>o$K$h$/@o$C\e(B
+\e$B$F$/$l$^$9$,!"$=$l$O%f!<%6!<$,$+$J$jJ#;($J%A%'%C%/$r@_Dj$9$k$3$H$r5a$a$^\e(B
+\e$B$9!#>&MQ$H!"%U%j!<$JJ,;67?\e(B spam \e$B=hM}%7%9%F%`$,$"$j$^$9!#J,;67?\e(B spam \e$B=hM}\e(B
+\e$B$O!"$=$l<+BN$N4m81$b$O$i$s$G$$$^$9!#Nc$($P!"@5Ev$JAw?.<T$,\e(B spam \e$B$rAw$C$?\e(B
+\e$B$+$I$GHsFq$5$l!"H`$i$N%&%'%V%5%$%H$,$=$N;v7o$N$?$a$K;C$/$N4VJD:?$5$l$F$7\e(B
+\e$B$^$&!"$H$+!#\e(B
+
+Spam \e$B_I2a$X$NE}7WE*$J<h$jAH$_$b$^$?Ia5Z$7$F$$$^$9!#$=$l$O2a5n$N\e(B spam \e$B%a%C\e(B
+\e$B%;!<%8$NE}7WJ,@O$K4p$E$$$F$$$^$9!#DL>o$=$NJ,@O$O!"$*$=$i$/C18l$NBP$+;0$D\e(B
+\e$B$NC18l$NAH9g$;$N9g@.$K$h$k!"C18l$N=P8=IQEY$NC1=c$J7W?t$G$9!#\e(BSpam \e$B$NE}7W\e(B
+\e$BJ,@O$O$[$H$s$I$N>l9g$K$H$F$b$h$/F/$/$N$G$9$,!";~$H$7$F@5Ev$JEE;R%a!<%k\e(B
+\e$B$r\e(B spam \e$B$H$7$FJ,N`$7$F$7$^$&$3$H$,$"$j$^$9!#J,@O$K$O;~4V$,$+$+$j$^$9!#$9\e(B
+\e$B$Y$F$N%a%C%;!<%8$rJ,@O$7$J$1$l$P$J$j$^$;$s!#$=$7$F%f!<%6!<$O\e(B spam \e$B$rJ,@O\e(B
+\e$B$9$k$?$a$N%G!<%?%Y!<%9$rMQ0U$7$J$1$l$P$J$j$^$;$s!#\e(B
+
+@node Anti-Spam Basics
+@subsection Spam \e$BB`<#$N4pAC\e(B
+@cindex email spam
+@cindex spam
+@cindex UCE
+@cindex unsolicited commercial email
+
+Spam \e$B$KBP=h$9$k0l$D$NJ}K!$O!"\e(Bgnus \e$B$KA4$F$N\e(B spam \e$B$r\e(B @samp{spam} \e$B%a!<%k%0\e(B
+\e$B%k!<%W$KJ,N%$5$;$F$7$^$&$3$H$G$9\e(B (@pxref{Splitting Mail})\e$B!#\e(B
+
+\e$B:G=i$K!"$"$J$?$KE~C#@-$N$"$k@5$7$$%a!<%k%"%I%l%9$r0l$DA*$S!"$=$l$rA4$F$N\e(B
+\e$B$"$J$?$N%K%e!<%95-;v$N\e(B @code{From} \e$B%X%C%@!<$KF~$l$^$9!#\e(B(\e$B$3$3$G$O\e(B
+@samp{larsi@@trym.ifi.uio.no} \e$B$rA*$S$^$7$?$,!"\e(B
+@samp{larsi+usenet@@ifi.uio.no} \e$B7A<0$N$?$/$5$s$N%"%I%l%9$NJ}$,NI$$A*Br$G\e(B
+\e$B$9!#$"$J$?$N%5%$%H$N\e(B sendmail \e$B$N@_Dj$,%a!<%k%"%I%l%9$N%m!<%+%kIt$H$7$F$I\e(B
+\e$B$s$J%-!<%o!<%I$r<u$1IU$1$k$+$O!"$"$J$?$N%5%$%H$N%7%9%F%`4IM}<T$KJ9$$$F$/\e(B
+\e$B$@$5$$!#\e(B)
+
+@lisp
+(setq message-default-news-headers
+ "From: Lars Magne Ingebrigtsen <larsi@@trym.ifi.uio.no>\n")
+@end lisp
+
+\e$B$=$7$F\e(B @code{nnmail-split-fancy} \e$B$K0J2<$NJ,N%5,B'$rF~$l$^\e(B
+\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"))
+ ...
+)
+@end lisp
+
+\e$B$3$N0UL#$O!"$3$N%"%I%l%9$KFO$$$?A4$F$N%a!<%k$r$^$:5?$$$^$9$,!"\e(B
+@samp{Re:} \e$B$G;O$^$k\e(B @code{Subject} \e$B$,$D$$$F$$$k$+!"\e(B@code{References} \e$B%X%C\e(B
+\e$B%@!<$,$D$$$F$$$l$P$*$=$i$/\e(B OK \e$B$@$m$&!"$H$$$&$3$H$G$9!#;D$j$OA4$F\e(B
+@samp{spam} \e$B%0%k!<%W$K9T$-$^$9!#\e(B(\e$B$3$N%"%$%G%"$O$*$=$i$/\e(B Tim Pierce \e$B;a$K\e(B
+\e$B$h$k$b$N$G$9!#\e(B)
+
+\e$B$3$l$K2C$($F!"B?$/$N%a!<%k\e(B spam \e$B20$O!"$"$J$?$N$H$3$m$N\e(B @acronym{SMTP} \e$B%5!<\e(B
+\e$B%P!<$HD>@\OC$7!"\e(B@code{To} \e$B%X%C%@!<$K$"$J$?$N%a!<%k%"%I%l%9$,L@<($5$l$J$$\e(B
+\e$B$h$&$K$7$^$9!#$J$s$G$=$s$J$3$H$r$9$k$N$+$O$o$+$j$^$;$s$,\e(B --- \e$B$*$=$i$/;d\e(B
+\e$B$?$A$NN"$r$+$/5!9=$NN"$r$+$/$?$a$+$J\e(B? \e$B$I$A$i$K$7$F$b!"BP=h$O4JC1$J$3$H$G\e(B
+\e$B$9\e(B --- \e$B$"$J$?08$F$G$J$$$b$N$rA4It\e(B @samp{spam} \e$B%0%k!<%W$K$$$l$k$@$1$G$9!#\e(B
+\e$B$3$l$O$*9%$_J,N%5,B'$N:G8e$K$3$s$JIw$KF~$l$k$3$H$G$G$-$^$9!#\e(B
+
+@lisp
+(
+ ...
+ (to "larsi" "misc")
+ "spam")
+@end lisp
+
+\e$B;d$N7P83$G$O!"$3$l$G;v<B>eA4$F$,@5$7$$%0%k!<%W$KJ,N`$5$l$^$9!#$^$"!"$=$l\e(B
+\e$B$G$b$H$-$I$-\e(B @samp{spam} \e$B%0%k!<%W$r%A%'%C%/$7$F!"@5$7$$%a!<%k$,$"$k$+%A%'%C\e(B
+\e$B%/$7$J$/$F$O$$$1$^$;$s$1$I$M!#$b$7$"$J$?$O<+J,$,NI$$%M%C%H%o!<%/;TL1$G$"\e(B
+\e$B$k$H;W$C$F$$$k$J$i!"$=$l$>$l$N2!$7IU$1@kEA%a!<%k$N4X78Ev6I$K6l>p$rAw$jIU\e(B
+\e$B$1$k$3$H$5$($b$G$-$^$9\e(B --- \e$B2K$J$H$-$K$G$b$M!#\e(B
+
+\e$B$3$l$G;d$N$H$3$m$G$OF0$$$F$$$^$9!#$3$l$G$_$s$J$O4JC1$JJ}K!$G;d$KO"Mm$r<h\e(B
+\e$B$k$3$H$,$G$-\e(B (\e$BIaDL$K\e(B @kbd{r} \e$B$r2!$9$@$1$G$G$-$k\e(B)\e$B!";d$O\e(B spam \e$B$KHQ$o$5$l$k\e(B
+\e$B$3$H$OA4$/$"$j$^$;$s!#F@!9>uBV$G$9!#;d$N0U8+$H$7$F$O!"\e(B@code{From} \e$B%X%C%@!<\e(B
+\e$B$r56B$$7$FB8:_$7$J$$%I%a%$%s$KAw$i$;$k$N$O%-%?%J%$$G$9!#\e(B
+
+@node SpamAssassin
+@subsection SpamAssassin, Vipul's Razor, DCC, etc
+@cindex SpamAssassin
+@cindex Vipul's Razor
+@cindex DCC
+
+Spam \e$B$rHr$1$k$?$a$NA09`$N%R%s%H$,==J,$@$C$?F|!9$O2a$.5n$j$^$7$?!#:#$G$O\e(B
+\e$B<u$1<h$C$?$?$/$5$s$N\e(B spam \e$B$r8:$i$9$?$a$NB?$/$NF;6q$,$"$j$^$9!#$3$N9`$O?7\e(B
+\e$B5lCV$-49$($K$h$C$F$9$0$K;~BeCY$l$K$J$C$F$7$^$&$G$7$g$&$,!"9,$$$J$3$H$K$[\e(B
+\e$B$H$s$I$NF;6q$ON`;w$N%$%s%?!<%U%'!<%9$r;}$C$F$$$^$9!#$3$N9`$ONc$H$7\e(B
+\e$B$F\e(B SpamAssassin \e$B$r;H$C$F$$$^$9$,!"B>$N$[$H$s$I$NF;6q$K$b4JC1$KE,9g$9$k$O\e(B
+\e$B$:$G$9!#\e(B
+
+\e$B$b$7$"$J$?$,;H$&F;6q$,%a!<%k%5!<%P!<$K%$%s%9%H!<%k$5$l$F$$$J$$$J$i$P!"$"\e(B
+\e$B$J$?<+?H$,$=$l$r8F$S=P$9I,MW$,$"$j$^$9!#0J2<$K\e(B @code{:postscript} \e$B%a!<%k\e(B
+\e$B%=!<%9;X<(;R\e(B (@pxref{Mail Source Specifiers}) \e$B$r;H$&>l9g$N9M$(J}$r<($7$^\e(B
+\e$B$9!#\e(B
+
+@lisp
+(setq mail-sources
+ '((file :prescript "formail -bs spamassassin < /var/mail/%u")
+ (pop :user "jrl"
+ :server "pophost"
+ :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$G!"Nc$($P\e(B spam \e$B$G$"$k$3$H$rI=<($9$k%X%C%@!<\e(B
+\e$B$r%a!<%k$K4^$a$k$h$&$K$7$F!"$=$l$r$U$k$$Mn$H$9=`Hw$r$7$^$9!#;H$&$N$OIaDL\e(B
+\e$B$NJ,3dJ}<0\e(B (@pxref{Splitting Mail}) \e$B$G$9\e(B:
+
+@lisp
+(setq nnmail-split-methods '(("spam" "^X-Spam-Flag: YES")
+ ...))
+@end lisp
+
+\e$B$^$?$OFC5iJ,3dJ}<0\e(B (@pxref{Fancy Mail Splitting}) \e$B$G$9\e(B:
+
+@lisp
+(setq nnmail-split-methods 'nnmail-split-fancy
+ nnmail-split-fancy '(| ("X-Spam-Flag" "YES" "spam")
+ ...))
+@end lisp
+
+\e$B$$$/$i$+$N?M$?$A$O\e(B @code{:prescript} \e$B$r;H$C$F%a!<%k$r$$$m$s$J%W%m%0%i%`\e(B
+\e$B$K%Q%$%W$9$k$3$H$r7y$&$+$b$7$l$^$;$s\e(B (\e$B$b$72?$+$N%W%m%0%i%`$K%P%0$,$"$C$?\e(B
+\e$B$i!"$9$Y$F$N%a!<%k$r<:$C$F$7$^$&$+$b$7$l$^$;$s\e(B)\e$B!#$"$J$?$,$=$l$i$N0l?M$J\e(B
+\e$B$i$P!"JL$N2r$OJ,3d$9$k$H$-$K30It$NF;6q$r8F$V$3$H$G$9!#FC5iJ,3dJ}<0$NNc$G\e(B
+\e$B$9\e(B:
+
+@lisp
+(setq nnmail-split-fancy '(| (: kevin-spamassassin)
+ ...))
+(defun kevin-spamassassin ()
+ (save-excursion
+ (let ((buf (or (get-buffer " *nnmail incoming*")
+ (get-buffer " *nnml move*"))))
+ (if (not buf)
+ (progn (message "Oops, cannot find message buffer") nil)
+ (set-buffer buf)
+ (if (eq 1 (call-process-region (point-min) (point-max)
+ "spamc" nil nil nil "-c"))
+ "spam")))))
+@end lisp
+
+\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
+\e$B$N$G!"\e(Bspam \e$B$rFI$`$O$a$K$J$C$?$H$-$K8F$V$?$a$N5$$NMx$$$?4X?t$,M_$7$$$G$7$g\e(B
+\e$B$&!#$3$l$,$=$N5$$NMx$$$?4X?t$G$9\e(B:
+
+@lisp
+ (defun my-gnus-raze-spam ()
+ "Submit SPAM to Vipul's Razor, then mark it as expirable."
+ (interactive)
+ (gnus-summary-show-raw-article)
+ (gnus-summary-save-in-pipe "razor-report -f -d")
+ (gnus-summary-mark-as-expirable 1))
+@end lisp
+
+@node Hashcash
+@subsection Hashcash
+@cindex hashcash
+
+Spam \e$B$H@o$&$?$a$N?7$7$$5;K!$O!"%a%C%;!<%8$rAw?.$9$k:]$K$$$/$P$/$+$NIiC4\e(B
+\e$B$rAw?.<T$K6/$$$^$9!#$3$l$O%$%s%?!<%M%C%HI8=`$N0lIt$G$O$J$$$N$G!"@$3&Cf$N\e(B
+\e$B$9$Y$F$N?M$,$3$N5;K!$r;H$&$3$H$OEv$F$K$G$-$J$$$H$$$&L@$i$+$J7gE@$,$"$j$^\e(B
+\e$B$9$,!">.5,LO$J6&F1BN$G$OLr$KN)$D$G$7$g$&!#\e(B
+
+\e$BA09`$NF;6qN`$,<B:]$K$&$^$/F/$$$?$H$7$F$b!"$=$l$i$O?7$7$$7A<0$N\e(B spam \e$B$,8=\e(B
+\e$B$l$k$?$S$K$7$g$C$A$e$&99?7$+$D@0Hw$5$l$k$3$H$K$h$C$F$N$_F0:n$7$^$9!#$3$N\e(B
+\e$B$3$H$O!">.$5$J%Q!<%;%s%F!<%8$N\e(B spam \e$B$,$$$D$bAGDL$j$7$F$7$^$&$3$H$r0UL#$7\e(B
+\e$B$^$9!#$=$l$O$^$?!"$I$3$+$G$@$l$+$,$=$l$i$NF;6q$r99?7$9$k$?$a$K!"$?$/$5$s\e(B
+\e$B$N\e(B spam \e$B$rFI$^$J$1$l$P$J$i$J$$$3$H$r$b0UL#$7$^$9!#\e(BHashcash \e$B$O$=$l$r2sHr\e(B
+\e$B$7$^$9$,!"Be$o$j$K$"$J$?$,DL?.$9$k$9$Y$F$N?M$?$A$,!"$=$N;EAH$_$r;H$C$F$$\e(B
+\e$B$k$3$H$,I,MW$G$9!#$"$J$?$O<BMQ\e(B (pragmatic) \e$B$H65>r\e(B (dogmatic) \e$B$NFs$D$N<h\e(B
+\e$B$jAH$_$r9M$($k$3$H$,$G$-$^$9!#$=$l$i$N<h$jAH$_$K$OMxE@$b$"$l$PITMx$JE@$b\e(B
+\e$B$"$j$^$9$,!"$=$l$O@$$NCf$G$OIaDL$N$3$H$G!"$=$l$i$rO"78$5$;$?$b$N$,B>$N$P\e(B
+\e$B$i$P$i$J$b$N$h$j6/NO$J$N$G$9!#\e(B
+
+@cindex X-Hashcash
+\e$B!V$$$/$P$/$+$NIiC4!W$H$O\e(B CPU \e$B;~4V$r>CHq$9$k$3$H$G!"6qBNE*$K$O0lDj?t$N%S%C\e(B
+\e$B%H$^$G%O%C%7%e$N>WFM\e(B (hash collision) \e$B$r7W;;$9$k$3$H$G$9!#$=$N7k2L$H$7$F\e(B
+\e$B$N\e(B hashcash \e$B%/%C%-!<$O\e(B @samp{X-Hashcash:} \e$B%X%C%@!<$KA^F~$5$l$^$9!#$b$C$H\e(B
+\e$B>\$7$$$3$H!"$=$7$F$3$N5!G=$r;H$&$?$a$K%$%s%9%H!<%k$9$kI,MW$,$"$k30It%"%W\e(B
+\e$B%j%1!<%7%g%s$N\e(B @code{hashcash} \e$B$K$D$$$F\e(B
+\e$B$O\e(B @uref{http://www.cypherspace.org/~adam/hashcash/} \e$B$r;2>H$7$F2<$5$$!#\e(B
+\e$B$5$i$J$k>pJs$,\e(B @uref{http://www.camram.org/} \e$B$G8+$D$+$k$G$7$g$&!#\e(B
+
+\e$BAw?.$9$k%a%C%;!<%8$N$=$l$>$l$K$D$$$F\e(B hashcash \e$B$r8F$\$&$H;W$&$J$i!"$3$s$J\e(B
+\e$B$U$&$K$7$F2<$5$$\e(B:
+
+@lisp
+(require 'hashcash)
+(add-hook 'message-send-hook 'mail-add-payment)
+@end lisp
+
+@code{hashcash.el} \e$B%i%$%V%i%j\e(B
+\e$B$O\e(B @uref{http://users.actrix.gen.nz/mycroft/hashcash.el} \e$B$+3+H/HG\e(B
+\e$B$N\e(B gnus \e$B$N\e(B contrib \e$B%G%#%l%/%H%j$K$"$j$^$9!#\e(B
+
+\e$B$$$/$D$+$NDI2C$NJQ?t$N@_Dj$b$7$J$1$l$P$J$j$^$;$s\e(B:
+
+@table @code
+@item hashcash-default-payment
+@vindex hashcash-default-payment
+\e$B$3$NJQ?t$O%O%C%7%e$N>WFM$r@.$9%G%#%U%)%k%H$N%S%C%H?t$r<($7$^$9!#5,DjCM\e(B
+\e$B$O\e(B 0 \e$B$G!"2?$b9T$J$o$l$J$$$3$H$r0UL#$7$^$9!#Ds0F$5$l$F$$$kM-8z$JCM\e(B
+\e$B$O\e(B 17 \e$B$+$i\e(B 29 \e$B$^$G$N?t$G$9!#\e(B
+
+@item hashcash-payment-alist
+@vindex hashcash-payment-alist
+\e$B2??M$+$N<u<h?M$O!"$"$J$?$K%G%#%U%)%k%H$h$jB?$/$N\e(B CPU \e$B;~4V$rHq$d$9$3$H$r\e(B
+\e$BMW5a$9$k$+$b$7$l$^$;$s!#$3$NJQ?t$O\e(B @samp{(@var{addr} @var{amount})} \e$B$N7A\e(B
+\e$B<0$NMWAG$N%j%9%H$G!"\e(B@var{addr} \e$B$O<u<h?M\e(B (\e$B%a!<%k%"%I%l%9$+%K%e!<%9%0%k!<\e(B
+\e$B%W\e(B)\e$B!"\e(B@var{amount} \e$B$OI,MW$H$5$l$k>WFM$N%S%C%H?t$G$9!#$3$l$O$^\e(B
+\e$B$?\e(B @samp{(@var{addr} @var{string} @var{amount})} \e$B$NMWAG$r;}$D$3$H$b2DG=\e(B
+\e$B$G!"\e(B@var{string} \e$B$OJ8;zNs\e(B (\e$BDL>o$O%a!<%k%"%I%l%9$+%K%e!<%9%0%k!<%WL>\e(B) \e$B$H\e(B
+\e$B$7$F;H$o$l$^$9!#\e(B
+
+@item hashcash
+@vindex hashcash
+@code{hashcash} \e$B%P%$%J%j$,%$%s%9%H!<%k$5$l$F$$$k>l=j$r<($7$^$9!#\e(B
+@end table
+
+\e$B:#$N$H$3$m\e(B gnus \e$B$K\e(B hashcash \e$B%/%C%-!<$rG'>Z$9$k<jCJ$O$"$j$^$;$s!#$"$J$?$,\e(B
+\e$B<j:n6H$G%a!<%k$r$U$k$$$K$+$1$k%9%/%j%W%H$r%+%9%?%^%$%:$9$k$3$H$,5a$a$i$l\e(B
+\e$B$F$$$^$9!#$7$+$7!"$3$NJ,Ln$K$*$1$k2~NI$OM-MQ$J9W8%$K$J$k$G$7$g$&!#\e(B
+
+@node Filtering Spam Using The Spam ELisp Package
+@subsection Spam ELisp \e$B%Q%C%1!<%8$r;H$C$?\e(B Spam \e$B$N_I2a\e(B
+@cindex spam filtering
+@cindex spam
+
+@code{spam.el} \e$B$N??$NL\E*$O\e(B spam \e$B8!=P$H_I2a$N$?$a$N41@)%;%s%?!<\e(B
+\e$B$r\e(B gnus \e$B$NCf$K;}$D$3$H$G$9!#$=$N$?$a$K\e(B @code{spam.el} \e$B$OFs$D$N$3$H$r9T$J\e(B
+\e$B$$$^$9\e(B: \e$BF~$C$F$/$k%a!<%k$r_I2a$7!"\e(Bspam \e$B$^$?$O\e(B ham \e$B$H$7$FCN$i$l$k%a!<%k$r\e(B
+\e$BJ,@O$9$k$3$H$G$9!#\e(B@emph{Ham} \e$B$O\e(B @code{spam.el} \e$B$N$$$?$k=j$G\e(B spam \e$B$G$O$J\e(B
+\e$B$$%a%C%;!<%8$r<($9$?$a$K;H$&L>A0$G$9!#\e(B
+
+\e$B$G$O\e(B @code{spam.el} \e$B$r\e(B load \e$B$9$k$H2?$,5/$-$k$G$7$g$&$+\e(B? \e$BBh0l$K!"0J2<$N\e(B
+\e$B%-!<%\!<%IL?Na$,;H$($k$h$&$K$J$j$^$9\e(B:
+
+@table @kbd
+@item M-d
+@itemx M s x
+@itemx S x
+@kindex M-d
+@kindex S x
+@kindex M s x
+@findex gnus-summary-mark-as-spam
+@code{gnus-summary-mark-as-spam}\e$B!#\e(B
+
+\e$B8=:_$N5-;v$K\e(B spam \e$B$H$7$F0u$rIU$1!"$=$l$r\e(B @samp{$} \e$B0u$GI=<($7$^$9!#\e(B
+Spam \e$B5-;v$r8+$?$H$-$O$$$D$G$b!"%0%k!<%W$rH4$1$kA0$KI,$:\e(B @kbd{M-d} \e$B$G$=$N\e(B
+\e$B35N,9T$K0u$rIU$1$k$h$&$K$7$F2<$5$$!#$3$l$O\e(B @emph{spam} \e$B%0%k!<%W$NL$FI5-\e(B
+\e$B;v$KBP$7$F$O<+F0E*$K9T$J$o$l$^$9!#\e(B
+
+@item M s t
+@itemx S t
+@kindex M s t
+@kindex S t
+@findex spam-bogofilter-score
+@code{spam-bogofilter-score}\e$B!#\e(B
+
+\e$B$3$N%3%^%s%I$,$A$c$s$HF/$/$?$a$K$O\e(B Bogofilter \e$B$r%$%s%9%H!<%k$7$J$1$l$P$J\e(B
+\e$B$j$^$;$s!#\e(B
+
+@xref{Bogofilter}\e$B!#\e(B
+
+@end table
+
+\e$B$^$?!"\e(B@code{spam.el} \e$B$r\e(B load \e$B$9$k$H!"$=$NJQ?t72$r%+%9%?%^%$%:$9$k$3$H$,\e(B
+\e$B$G$-$k$h$&$K$J$j$^$9!#\e(B@samp{spam} \e$BJQ?t%0%k!<%W$K$D$$\e(B
+\e$B$F\e(B @code{customize-group} \e$B$r;n$7$F$_$F2<$5$$!#\e(B
+
+@vindex gnus-spam-process-newsgroups
+Ham \e$B%W%m%;%C%5!<$H\e(B spam \e$B%W%m%;%C%5!<$N35G0$OHs>o$K=EMW$G$9!#$"$k%0%k!<%W\e(B
+\e$B$N\e(B ham \e$B%W%m%;%C%5!<$H\e(B spam \e$B%W%m%;%C%5!<$O!"\e(B@code{spam-process} \e$B%0%k!<%W\e(B
+\e$B%Q%i%a!<%?$+\e(B @code{gnus-spam-process-newsgroups} \e$BJQ?t$G@_Dj$9$k$3$H$,$G\e(B
+\e$B$-$^$9!#8e$GF1MM$N%a!<%k$r\e(B spam \e$B$G$O$J$$$H2r<a$G$-$k$h$&$K$9$k$?$a$K!"\e(B
+ham \e$B%W%m%;%C%5!<$OHs\e(B spam (@emph{ham}) \e$B$G$"$k$3$H$,$o$+$C$F$$$k%a!<%k$r\e(B
+\e$B<u$1<h$C$F!"2?$i$+$NJ}K!$G=hM}$7$^$9!#\e(BSpam \e$B%W%m%;%C%5!<$O!"8e$GF1MM\e(B
+\e$B$N\e(B spam \e$B$,8!=P$5$l$k$h$&$K!"\e(Bspam \e$B$G$"$k$3$H$,$o$+$C$F$$$k%a!<%k$r<u$1<h$C\e(B
+\e$B$F=hM}$7$^$9!#\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
+\e$B%k!<%W$K\e(B spam \e$B5-;v$r=8$a$F!"JQ?t\e(B @code{spam-junk-mailgroups} \e$B$rE,@Z$K@_\e(B
+\e$BDj$b$7$/$O%+%9%?%^%$%:$7$J$1$l$P$J$j$^$;$s!#$^$?!"\e(Bspam \e$B$r4^$a$k%0%k!<%W\e(B
+\e$B$r!"$=$N%0%k!<%W%Q%i%a!<\e(B
+\e$B%?\e(B @code{spam-contents} \e$B$r\e(B @code{gnus-group-spam-classification-spam} \e$B$K\e(B
+\e$B@_Dj$9$k$+!"$^$?$O$=$l$KBP1~$9$kJQ\e(B
+\e$B?t\e(B @code{gnus-spam-newsgroup-contents} \e$B$r%+%9%?%^%$%:$9$k$3$H$K$h$C$F@k\e(B
+\e$B8@$9$k$3$H$,$G$-$^$9!#\e(B@code{spam-contents} \e$B%0%k!<%W%Q%i%a!<%?\e(B
+\e$B$H\e(B @code{gnus-spam-newsgroup-contents} \e$BJQ?t$O!"$=$l$i$N<oJL\e(B
+\e$B$r\e(B @code{gnus-group-spam-classification-ham} \e$B$K@_Dj$9$k$3$H$K$h$C$F!"\e(B
+@emph{ham} \e$B%0%k!<%W$G$"$k$3$H$r@k8@$9$k$?$a$K;H$&$3$H$b$G$-$^$9!#%0%k!<\e(B
+\e$B%W$,\e(B @code{spam-junk-mailgroups}, @code{spam-contents} \e$B$^$?\e(B
+\e$B$O\e(B @code{gnus-spam-newsgroup-contents} \e$B$G$"$k$3$H$r<($9J,N`$,9T$J$o$l$F\e(B
+\e$B$$$J$$$H!"$=$l$i$O\e(B @emph{\e$BL$J,N`\e(B} \e$B$G$"$k$H2r<a$5$l$^$9!#$9$Y$F$N%0%k!<%W\e(B
+\e$B$O%G%#%U%)%k%H$G$OL$J,N`$G$9!#\e(B
+
+@vindex gnus-spam-mark
+@cindex $
+Spam \e$B%0%k!<%W$G$O!"%G%#%U%)%k%H$G$9$Y$F$N%a%C%;!<%8$,\e(B spam \e$B$G$"$k$H2r<a\e(B
+\e$B$5$l$^$9\e(B: \e$B$=$N%0%k!<%W$KF~$k$H!"$=$l$i\e(B
+\e$B$K\e(B @samp{$} \e$B0u\e(B (@code{gnus-spam-mark}) \e$B$,IU$-$^$9!#%a%C%;!<%8$r8+$F0lC6\e(B
+\e$B$=$l$K\e(B spam \e$B$N0u$rIU$1$F$b!"8e$G<h$j>C$;$P!"$=$N8e$=$N%0%k!<%W$KF~$C$?$H\e(B
+\e$B$-$K!"$=$l$K$O\e(B spam \e$B0u$OIU$-$^$;$s!#$?$@\e(B
+\e$B$7\e(B @code{spam-mark-only-unseen-as-spam} \e$B%Q%i%a!<%?$r\e(B @code{nil} \e$B$K$9$l$P!"\e(B
+\e$B$=$&$$$&F0:n$r$d$a$5$;$k!"$D$^$j$9$Y$F$NL$FI%a%C%;!<%8$K\e(B spam \e$B0u$,IU$/$h\e(B
+\e$B$&$K$9$k$3$H$,$G$-$^$9!#$=$N%0%k!<%W$N35N,%P%C%U%!$K$$$k$H$-!"$d$C$Q\e(B
+\e$B$j\e(B spam \e$B$G$O$J$+$C$?$9$Y$F$N\e(B \e$B5-;v$+$i\e(B @samp{$} \e$B0u$r>C$5$J$1$l$P$J$j$^$;\e(B
+\e$B$s!#\e(B@samp{$} \e$B0u$r>C$9$K$O\e(B @kbd{M-u} \e$B$G$=$N5-;v$r\e(B ``\e$BL$FI\e(B'' \e$B$K$9$k$+!"$"$k\e(B
+\e$B$$$O\e(B @kbd{d} \e$B$G\e(B spam \e$B$G$O$J$$$b$N$H$7$FFI$s$@$3$H$r@k8@$9$l$PNI$$$G$7$g\e(B
+\e$B$&!#%0%k!<%W$rH4$1$k$H$-!"$9$Y$F$N\e(B spam \e$B0u\e(B (@samp{$}) \e$B$,IU$$$?5-;v\e(B
+\e$B$O\e(B spam \e$B%W%m%;%C%5!<$KAw$i$l!"$=$l$i$r\e(B spam \e$B$NI8K\$H$7$F3X=,$7$^$9!#\e(B
+
+\e$B%a%C%;!<%8$OB>$N$$$m$$$m$JJ}K!$K$h$C$F$b>C5n$5$l$k$+$b$7$l$^$;$s$7!"\e(B
+@code{ham-marks} \e$B%0%k!<%W%Q%i%a!<%?$,8e=R$N$h$&$K>e=q$-$5$l$J$1$l$P!"Dc\e(B
+\e$B$$%9%3%"$N$?$a$N\e(B @samp{Y} \e$B0u$HF1MM!"%G%#%U%)%k%H$N4{FI$+L@<(E*$J>C5n$N$?\e(B
+\e$B$a$N\e(B @samp{R} \e$B$H\e(B @samp{r} \e$B0u!"<+F0$^$?$OL@<(E*$J:o=|$N$?$a\e(B
+\e$B$N\e(B @samp{X} \e$B$H\e(B @samp{K} \e$B0u!"$=$l$i$9$Y$F$,\e(B spam \e$B$H$OL54X78$G$"$k$H2r<a$5\e(B
+\e$B$l$^$9!#$3$N2>Dj$O!"K\J*$N\e(B spam \e$B$r8!=P$9$k$?$a$K>C5n\e(B (kill) \e$B%U%!%$%k$+%9\e(B
+\e$B%3%"%U%!%$%k$rFCJL$K;H$C$F$$$k>l9g$O4V0c$C$F$$$k$+$b$7$l$^$;$s!#$=$&$G$"\e(B
+\e$B$l$P\e(B @code{ham-marks} \e$B%0%k!<%W%Q%i%a!<%?$rD4@0$9$k$Y$-$G$9!#\e(B
+
+@defvar ham-marks
+\e$B$3$N%0%k!<%W$^$?$O%H%T%C%/%Q%i%a!<%?$r\e(B ham \e$B$G$"$k$H2r<a$7$?$$0u$N%j%9%H\e(B
+\e$B$K@_Dj$9$k$3$H$,$G$-$^$9!#%G%#%U%)%k%H$G$O!">C5n\e(B (deleted)\e$B!"4{FI\e(B (read)\e$B!"\e(B
+\e$B:o=|\e(B (killed)\e$B!"\e(Bkill \e$B%U%!%$%k$K$"$k$b$N\e(B (kill-filed) \e$B$*$h$SDc$$%9%3\e(B
+\e$B%"\e(B (low-score) \e$B0u$N%j%9%H$G$9!#\e(B
+@end defvar
+
+@defvar spam-marks
+\e$B$3$N%0%k!<%W$^$?$O%H%T%C%/%Q%i%a!<%?$r\e(B spam \e$B$G$"$k$H2r<a$7$?$$0u$N%j%9%H\e(B
+\e$B$K@_Dj$9$k$3$H$,$G$-$^$9!#%G%#%U%)%k%H$G$O\e(B spam \e$B0u$@$1$r;}$D%j%9%H$G$9!#\e(B
+@end defvar
+
+\e$B%0%k!<%W$rH4$1$k$H$-$K\e(B (\e$B$=$N%0%k!<%W$,\e(B @emph{\e$B2?\e(B} \e$B$G$"$C$F$b\e(B)\e$B!"$=\e(B
+\e$B$N\e(B @code{spam-contents} \e$B$NJ,N`$K$+$+$o$i$:!"\e(Bspam \e$B0u$,IU$$$F$$$k$9$Y$F$N\e(B
+\e$B5-;v$O\e(B spam \e$B%W%m%;%C%5!<$KAw$i$l!"$=$l$i$r\e(B spam \e$B$NI8K\$H$7$F3X=,$7$^$9!#\e(B
+\e$B0U?^E*$K$?$/$5$s$N>C5n$r9T$J$&$H!"$?$^$K$=$l$O8+$F$$$J$$\e(B @samp{K} \e$B0u$,IU\e(B
+\e$B$$$?5-;v$G=*$o$k$+$b$7$l$^$;$s!#$=$7$F$=$l$i$O6vA3$K\e(B spam \e$B$r4^$s$G$$$k$+\e(B
+\e$B$b$7$l$^$;$s!#:G$bNI$$$N$O!"K\Ev$N\e(B spam \e$B$K\e(B @samp{$} \e$B$,IU$$$F$$$F!"B>$K2?\e(B
+\e$B$bL5$$$3$H$r3N$+$a$k$3$H$G$9!#\e(B
+
+@vindex gnus-ham-process-destinations
+@emph{Spam} \e$B%0%k!<%W$rH4$1$k$H$-$K!"\e(Bspam \e$B0u$,IU$$$F$$$k$9$Y$F$N5-;v\e(B
+\e$B$K$O\e(B spam \e$B%W%m%;%C%5!<$G=hM}$7$?8e$G4|8B@Z$l>C5n$N0u$,IU$1$i$l$^$9!#$3$l\e(B
+\e$B$O\e(B @emph{\e$BL$J,N`\e(B} \e$B$^$?$O\e(B @emph{ham} \e$B%0%k!<%W$KBP$7$F$O9T$J$o$l$^$;$s!#$5\e(B
+\e$B$i$K\e(B spam \e$B%0%k!<%W$K$"$k$I$N\e(B @strong{ham} \e$B5-;v$b!"\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!#:G=*E*$J>l=j$O%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
+
+@emph{Ham} \e$B%0%k!<%W$rH4$1$k$H$-$K!"\e(Bham \e$B0u$,IU$$$F$$$k$9$Y$F$N5-;v\e(B
+\e$B$O\e(B ham \e$B%W%m%;%C%5!<$KAw$i$l!"$=$l$i$r\e(B spam \e$B$G$O$J$$I8K\$H$7$F3X=,$7$^$9!#\e(B
+
+@vindex gnus-spam-process-destinations
+@emph{Ham} \e$B$^$?$O\e(B @emph{\e$BL$J,N`\e(B} \e$B%0%k!<%W$rH4$1$k$H$-$K!"$9$Y$F\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!#:G=*E*$J>l=j$O%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!#\e(B
+
+\e$BF~$C$F$/$k%a!<%k$r_I2a$9$kL\E*$G\e(B @code{spam.el} \e$B$r;H$&$K$O!"FC5iJ,3d%j%9\e(B
+\e$B%H\e(B @code{nnmail-split-fancy} \e$B$^$?$O\e(B @code{nnimap-split-fancy} \e$B$K0J2<$rDI\e(B
+\e$B2C$7$J$1$l$P$J$j$^$;$s\e(B:
+
+@example
+(: spam-split)
+@end example
+
+\e$BFC5iJ,3d$O!"%a!<%k$N<h$j9~$_$K\e(B nnmail \e$B$+\e(B nnimap \e$B$N$I$A$i$N%P%C%/%(%s%I$r\e(B
+\e$B;H$C$F$$$k$+$K1~$8$F!"\e(B@code{nnmail-split-fancy} \e$B$^$?\e(B
+\e$B$O\e(B @code{nnimap-split-fancy} \e$B$+$i8F$P$l$k$3$H$KCm0U$7$F2<$5$$!#\e(B
+
+@code{spam-split} \e$B4X?t$OF~$C$F$/$k%a!<%k$r=hM}$7!"\e(Bspam \e$B$H;W$o$l$k%a!<%k\e(B
+\e$B$rJQ?t\e(B @code{spam-split-group} \e$B$GM?$($i$l$kL>A0$N%0%k!<%W$KAw$j$^$9!#%G%#\e(B
+\e$B%U%)%k%H$G$O$=$N%0%k!<%WL>$O\e(B @samp{spam} \e$B$G$9$,!"\e(B
+@code{spam-split-group} \e$B$r%+%9%?%^%$%:$9$k$3$H$,2DG=$G$9!#\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$rM?$($k$3$H$b$G$-$^$9!#$J$<$3$l$,M-MQ\e(B
+\e$B$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
+\e$B@_Dj$K$h$k\e(B) \e$BJ,3d$N5,B'$r8+$F2<$5$$\e(B:
+
+@example
+ nnimap-split-fancy '(|
+ (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
+\e$B$F$$$k$3$H$G$9!#$G$b$=$l$O\e(B ding \e$B%a!<%j%s%0%j%9%H08$F$KAw$i$l$?\e(B spam (\e$BNc\e(B
+\e$B$($P\e(B SpamAssassin \e$B$H\e(B @code{spam-use-regex-headers} \e$B$K$h$C$F8!=P$5$l\e(B
+\e$B$k\e(B spam) \e$B$r5v$7$F$7$^$&$G$7$g$&!#0lJ}!"$$$/$D$+$N\e(B ding \e$B08$F$N%a%C%;!<%8\e(B
+\e$B$O%V%i%C%/%[!<%k%j%9%H$K:\$C$F$$$k%a!<%k%5!<%P!<$+$i$d$C$FMh$k$N$G!"\e(B
+ding \e$B$N5,B'$h$jA0$K\e(B @code{spam-split} \e$B$rH/F0$9$k$3$H$,$G$-$^$;$s!#\e(B
+
+SpamAssassin \e$B%X%C%@!<$K\e(B ding \e$B$N5,B'$rCV$-49$($5$;$k$3$H$O$G$-$^$9$,!"B>\e(B
+\e$B$N$9$Y$F$N\e(B @code{spam-split} \e$B$N5,B'\e(B (\e$BBhFs$N@55,I=8=%X%C%@!<8!::$r4^\e(B
+\e$B$`\e(B) \e$B$O\e(B ding \e$B$N5,B'$N8e$K$J$C$F$7$^$&$G$7$g$&!#\e(B
+
+@example
+ nnimap-split-fancy '(|
+ (: spam-split 'spam-use-regex-headers)
+ (any "ding" "ding")
+ (: 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
+\e$B::$r5/F0$5$;$^$9!#$9$Y$F$N%a!<%k$r$9$Y$F$N\e(B spam \e$B%F%9%H$KEj$2$kI,MW$O$"$j\e(B
+\e$B$^$;$s!#$3$l$,NI$$JL$NM}M3$O!"5,B'$r;}$C$F$$$k%a!<%j%s%0%j%9%H$X$N%a%C%;!<\e(B
+\e$B%8$KBP$7$F!";q8;=8LsE*$J%V%i%C%/%[!<%k!&%A%'%C%/$r<B9T$9$kI,MW$,$J$$$H$$\e(B
+\e$B$&$3$H$G$9!#$5$i$K\e(B nnmail \e$BJ,3d$KBP$7$F\e(B nnimap \e$BJ,3d$N$?$a$N!"0[$J$k\e(B spam
+\e$B8!::$r;XDj$9$k$3$H$b$G$-$^$9!#5$$,68$&!<!#\e(B
+
+\e$B8!::$HF1;~$KL@$i$+$K\e(B @code{spam-split} \e$B$r<B9T$9$k$H$7$F$b!":#$^$G$H$*\e(B
+\e$B$j\e(B @code{spam-use-regex-headers} \e$B$r\e(B t \e$B$K@_Dj$9$k$h$&$J8!::$r9T$C$F$$$J$1\e(B
+\e$B$l$P$J$j$^$;$s!#$J$<$J$i\e(B @file{spam.el} \e$B$rFI$_9~$`$H$-$K!"$"$J$?$,2?\e(B
+\e$B$N\e(B @code{spam-use-xyz} \e$BJQ?t$r@_Dj$7$F$$$k$+$K1~$8$?!"$$$/$D$+$N>r7oIU$-\e(B
+\e$B$NFI$_9~$_$,9T$o$l$k$+$i$G$9!#\e(B
+
+@emph{@acronym{IMAP} \e$BMxMQ<T$X$NCm0U\e(B}
+
+\e$B%X%C%@!<$@$1$G$O$J$/$F%a%C%;!<%8A4BN$K4p$E$$$FJ,3d$r9T$J$$$?$$>l9g$O!"%V!<\e(B
+\e$B%kJQ?t\e(B @code{nnimap-split-download-body} \e$B$,@_Dj$5$l$kI,MW$,$"$j$^$9!#%G%#\e(B
+\e$B%U%)%k%H$G$O!"\e(Bnnimap \e$B%P%C%/%(%s%I$O%a%C%;!<%8%X%C%@!<$@$1$r<h$j9~$_$^$9!#\e(B
+@code{spam-check-bogofilter}\e$B!"\e(B@code{spam-check-ifile} \e$B$^$?\e(B
+\e$B$O\e(B @code{spam-check-stat} (\e$B$=$l$i$NJ,3d4o$O%a%C%;!<%8$NK\J8A4BN$+$i>pJs\e(B
+\e$B$rF@$k\e(B) \e$B$r;H$&$J$i$P!"$3$NJQ?t$r@_Dj$7$J$1$l$P$J$j$^$;$s!#$=$l\e(B
+\e$B$O\e(B @acronym{IMAP} \e$B$NF0:n$rCY$/$7$F$7$^$$!"%f!<%6$rBeI=$9$k$N$K$U$5$o$7$$\e(B
+\e$B7hDj$G$O$J$$$N$G!"%G%#%U%)%k%H$G$O@_Dj$5$l$F$$$^$;$s!#\e(B
+
+@xref{Splitting in IMAP}.
+
+@emph{TODO: \e$B8=>u\e(B spam.el \e$B$O5-;v$r%P%C%/%(%s%I$KEjF~$9$k$3$H$@$1$r%5%]!<\e(B
+\e$B%H$7$^$9!#5-;v$,$b$O$d\e(B spam \e$B$^$?$O\e(B ham \e$B$G$O$J$$$H\e(B spam.el \e$B$KEA$($kJ}K!$O\e(B
+\e$B$"$j$^$;$s!#\e(B}
+
+@emph{TODO: spam.el \e$B$O$9$Y$F$NE}7W%G!<%?%Y!<%9$r71N}$9$k$?$a$N0lDjITJQ$N\e(B
+\e$BJ}K!$rDs6!$9$kI,MW$,$"$j$^$9!#$$$/$D$+$O$=$N5!G=$r<+A0$G;}$C$F$$$^$9$,!"\e(B
+\e$B$=$&$G$J$$$b$N$b$"$j$^$9!#\e(B}
+
+\e$B0J2<$O\e(B @code{spam-split} \e$B$NF0:n$r@)8f$9$k$?$a$K;H$&$3$H$,$G$-$k3F<o$NJ}\e(B
+\e$BK!$H!"$=$l$i$KBP1~$9$k\e(B spam \e$B$H\e(B ham \e$B$N%W%m%;%C%5!<$G$9\e(B:
+
+@menu
+* Blacklists and Whitelists::
+* BBDB Whitelists::
+* Gmane Spam Reporting::
+* Anti-spam Hashcash Payments::
+* Blackholes::
+* Regular Expressions Header Matching::
+* Bogofilter::
+* ifile spam filtering::
+* spam-stat spam filtering::
+* Extending the spam elisp package::
+@end menu