+\e$B%a%C%;!<%8$r%j%U%!%$%k$7$?;~!"$=$N%a%C%;!<%8$NB0$9$kNN0h$,JQ$o$C$?>l9g!"\e(B
+\e$BA08e$NNN0h$K=>$C$F\e(B @samp{spam} \e$B$^$?$O!"\e(B@samp{non-spam} \e$B$H$7$F3X=,$7$^$9!#\e(B
+
+\e$B6qBNE*$K$O0J2<$NDL$j$G$9!#\e(B
+
+@table @samp
+@item undecide -> spam
+spam \e$B$H$7$F3X=,!#\e(B
+@item good -> spam
+spam \e$B$H$7$F$N3X=,$K2C$($F!"\e(Bnon-spam \e$B$K9T$J$C$?3X=,$r:o=|$7$^$9!#\e(B
+@item undecide -> good
+non-spam \e$B$H$7$F3X=,!#\e(B
+@item spam -> good
+non-spam \e$B$H$7$F$N3X=,$K2C$($F!"\e(Bspam \e$B$K9T$J$C$?3X=,$r:o=|$7$^$9!#\e(B
+@end table
+
+\e$B>e5-0J30$N%j%U%!%$%k$G$O!"3X=,$O9T$o$l$^$;$s!#\e(B
+
+@subsection \e$B%-!<%P%$%s%I\e(B
+@cindex Keybind, spam filter
+
+@table @kbd
+@item k m
+@kindex k m (Summary)
+@findex wl-summary-spam
+\e$B%+!<%=%k9T$N%a%C%;!<%8$K\e(B spam \e$B%^!<%/\e(B(@samp{s})\e$B$rIU$1$^$9!#\e(B
+
+@item k c
+@kindex k c (Summary)
+@findex wl-summary-test-spam
+\e$B%+!<%=%k9T$N%a%C%;!<%8$r%F%9%H$7!"\e(Bspam \e$B$HH=Dj$5$l$?>l9g$K\e(B spam \e$B%^!<%/$r\e(B
+\e$BIU$1$^$9!#\e(Bspam \e$B$G$J$$$HH=Dj$5$l$?>l9g$O\e(B spam \e$B%^!<%/$r<h$j=|$-$^$9!#\e(B
+
+@item k C
+@kindex k C (Summary)
+@findex wl-summary-mark-spam
+@code{wl-spam-auto-check-marks} \e$B$K4^$^$l$k%^!<%/$r;}$D%a%C%;!<%8$K$D$$$F\e(B
+spam \e$B$+$I$&$+$N%F%9%H$r9T$$$^$9!#\e(Bspam \e$B$HH=Dj$5$l$?%a%C%;!<%8$K$O!"\e(Bspam
+\e$B%^!<%/$,IU$1$i$l$^$9!#\e(Bprefix argument \e$B$r$D$1$?>l9g$O!"%^!<%/$K$+$+$o$i$:\e(B
+\e$BA4$F$N%a%C%;!<%8$rBP>]$H$7$^$9!#\e(B
+
+@item k s
+@kindex k s (Summary)
+@findex wl-summary-register-as-spam
+\e$B%+!<%=%k9T$N%a%C%;!<%8$r\e(B spam \e$B$H$7$FEPO?$7\e(B spam \e$B%^!<%/$rIU$1$^$9!#\e(B
+
+@item k S
+@kindex k S (Summary)
+@findex wl-summary-register-as-spam-all
+\e$B%U%)%k%@Fb$NA4$F$N%a%C%;!<%8$r\e(B spam \e$B$H$7$FEPO?$7\e(B spam \e$B%^!<%/$rIU$1$^$9!#\e(B
+
+@item k n
+@kindex k n (Summary)
+@findex wl-summary-register-as-good
+\e$B%+!<%=%k9T$N%a%C%;!<%8$r\e(B non-spam \e$B$H$7$FEPO?$7\e(B spam \e$B%^!<%/$r<h$j=|$-$^$9!#\e(B
+
+@item k N
+@kindex k N (Summary)
+@findex wl-summary-register-as-good-all
+\e$B%U%)%k%@Fb$NA4$F$N%a%C%;!<%8$r\e(B non-spam \e$B$H$7$FEPO?$7\e(B spam \e$B%^!<%/$r<h$j=|$-$^$9!#\e(B
+
+@item r k m
+@kindex r k m (Summary)
+@findex wl-summary-spam-region
+\e$B;XDj%j!<%8%g%s$K$"$k%a%C%;!<%8$K\e(B spam \e$B%^!<%/$rIU$1$^$9!#\e(B
+
+@item r k c
+@kindex r k c (Summary)
+@findex wl-summary-test-spam-region
+\e$B;XDj%j!<%8%g%s$K$"$k%a%C%;!<%8$r%F%9%H$7!"\e(Bspam \e$B$HH=Dj$5$l$?>l9g$K\e(B spam \e$B%^!<%/$r\e(B
+\e$BIU$1$^$9!#\e(Bspam \e$B$G$J$$$HH=Dj$5$l$?>l9g$O\e(B spam \e$B%^!<%/$r<h$j=|$-$^$9!#\e(B
+
+@item r k s
+@kindex r k s (Summary)
+@findex wl-summary-register-as-spam-region
+\e$B;XDj%j!<%8%g%s$K$"$k%a%C%;!<%8$r\e(B spam \e$B$H$7$FEPO?$7\e(B spam \e$B%^!<%/$rIU$1$^$9!#\e(B
+
+@item r k n
+@kindex r k n (Summary)
+@findex wl-summary-register-as-good-region
+\e$B;XDj%j!<%8%g%s$K$"$k%a%C%;!<%8$r\e(B non-spam \e$B$H$7$FEPO?$7\e(B spam \e$B%^!<%/$r<h$j=|$-$^$9!#\e(B
+
+@item t k m
+@kindex t k m (Summary)
+@findex wl-thread-spam
+\e$B%+!<%=%k9T$,$"$k%a%C%;!<%8$r@hF,$H$9$k%9%l%C%I$N%a%C%;!<%8$K\e(B spam \e$B%^!<%/$rIU$1$^$9!#\e(B
+prefix argument \e$B$D$-$J$i$P%+!<%=%k9T$,$"$k%a%C%;!<%8$r4^$`%9%l%C%IA4$F$K\e(B
+\e$BE,MQ$7$^$9!#\e(B
+
+@item t k c
+@kindex t k c (Summary)
+@findex wl-thread-test-spam
+\e$B%+!<%=%k9T$,$"$k%a%C%;!<%8$r@hF,$H$9$k%9%l%C%I$N%a%C%;!<%8$r%F%9%H$7!"\e(B
+spam \e$B$HH=Dj$5$l$?>l9g$K\e(B spam \e$B%^!<%/$rIU$1$^$9!#\e(B
+spam \e$B$G$J$$$HH=Dj$5$l$?>l9g$O\e(B spam \e$B%^!<%/$r<h$j=|$-$^$9!#\e(B
+prefix argument \e$B$D$-$J$i$P%+!<%=%k9T$,$"$k%a%C%;!<%8$r4^$`%9%l%C%IA4$F$K\e(B
+\e$BE,MQ$7$^$9!#\e(B
+
+@item t k s
+@kindex t k s (Summary)
+@findex wl-thread-register-as-spam
+\e$B%+!<%=%k9T$,$"$k%a%C%;!<%8$r@hF,$H$9$k%9%l%C%I$N%a%C%;!<%8$r\e(B spam \e$B$H$7$FEPO?$7\e(B
+spam \e$B%^!<%/$rIU$1$^$9!#\e(B
+prefix argument \e$B$D$-$J$i$P%+!<%=%k9T$,$"$k%a%C%;!<%8$r4^$`%9%l%C%IA4$F$K\e(B
+\e$BE,MQ$7$^$9!#\e(B
+
+@item t k n
+@kindex t k n (Summary)
+@findex wl-thread-register-as-good
+\e$B%+!<%=%k9T$,$"$k%a%C%;!<%8$r@hF,$H$9$k%9%l%C%I$N%a%C%;!<%8$r\e(B non-spam \e$B$H$7$FEPO?$7\e(B
+spam \e$B%^!<%/$r<h$j=|$-$^$9!#\e(B
+prefix argument \e$B$D$-$J$i$P%+!<%=%k9T$,$"$k%a%C%;!<%8$r4^$`%9%l%C%IA4$F$K\e(B
+\e$BE,MQ$7$^$9!#\e(B
+
+@item m k
+@kindex m k (Summary)
+@findex wl-summary-target-mark-spam
+\e$B$^$H$a=hM}MQ%^!<%/\e(B @samp{*} \e$B$N$D$$$?%a%C%;!<%8$K\e(B spam \e$B%^!<%/\e(B(@samp{s})\e$B$r\e(B
+\e$BIU$1$^$9!#\e(B
+
+@item m s
+@kindex m s (Summary)
+@findex wl-summary-target-mark-register-as-spam
+\e$B$^$H$a=hM}MQ%^!<%/\e(B @samp{*} \e$B$N$D$$$?%a%C%;!<%8$r\e(B spam \e$B$H$7$FEPO?$7\e(B spam \e$B%^!<%/$rIU$1$^$9!#\e(B
+
+@item m n
+@kindex m n (Summary)
+@findex wl-summary-target-mark-register-as-good
+\e$B$^$H$a=hM}MQ%^!<%/\e(B @samp{*} \e$B$N$D$$$?%a%C%;!<%8$r\e(B non-spam \e$B$H$7$FEPO?$7\e(B spam \e$B%^!<%/$r<h$j=|$-$^$9!#\e(B
+\e$B$9!#\e(B
+@end table
+
+@subsection \e$B%+%9%?%^%$%:JQ?t\e(B
+
+@table @code
+@item wl-spam-folder
+@vindex wl-spam-folder
+spam \e$B$HH=Dj$5$l$?%a%C%;!<%8$r0\F0$9$k%U%)%k%@L>$r@_Dj$7$^$9!#\e(B
+\e$B=i4|@_Dj$O!"\e(B@samp{+spam}\e$B!#\e(B
+
+@item wl-spam-undecided-folder-regexp-list
+@vindex wl-spam-undecided-folder-regexp-list
+spam \e$B$+\e(B non-spam \e$B$+L$H=Dj$N%a%C%;!<%8$,$"$k$H4GJo$9%U%)%k%@$r!"%U%)%k%@\e(B
+\e$BL>$N@55,I=8=$N%j%9%H$G;XDj$7$^$9!#\e(B
+\e$B=i4|@_Dj$O!"\e(B@code{'("inbox")}
+
+@item wl-spam-ignored-folder-regexp-list
+@vindex wl-spam-ignored-folder-regexp-list
+\e$B=i4|@_Dj$O0J2<$NDL$j!#\e(B
+
+@lisp
+@group
+(list (regexp-opt (list wl-draft-folder
+ wl-trash-folder
+ wl-queue-folder)))
+@end group
+@end lisp
+
+spam \e$BH=Dj$KBP$7$FL58z$J%U%)%k%@$r!"%U%)%k%@L>$N@55,I=8=$N%j%9%H$G;XDj$7\e(B
+\e$B$^$9!#\e(B
+
+@item wl-spam-auto-check-folder-regexp-list
+@vindex wl-spam-auto-check-folder-regexp-list
+\e$B%5%^%j$K0\F0$7$?;~$K<+F0E*$K\e(B spam \e$BH=Dj$r9T$&%U%)%k%@$r@55,I=8=$N%j%9%H$G\e(B
+\e$B;XDj$7$^$9!#\e(B
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B
+
+@item wl-spam-auto-check-marks
+@vindex wl-spam-auto-check-marks
+\e$B=i4|@_Dj$O0J2<$N%j%9%H!#\e(B
+
+@lisp
+@group
+(list wl-summary-new-uncached-mark
+ wl-summary-new-cached-mark)
+@end group
+@end lisp
+
+@code{wl-spam-auto-check-folder-regexp-list} \e$B$K$h$k<+F0H=Dj$r4^$`!"%U%)\e(B
+\e$B%k%@A4BN$KBP$9$k\e(B spam \e$BH=Dj$NBP>]$H$9$k%a%C%;!<%8$N%^!<%/$r;XDj$7$^$9!#%^!<\e(B
+\e$B%/$K$O1JB3%^!<%/$N$_;XDj$G$-$^$9!#0l;~E*%^!<%/$O;XDj$G$-$^$;$s!#\e(B
+
+\e$B%G%U%)%k%H$N$h$&$K%j%9%H$G;XDj$9$k$H$=$N%^!<%/$N$D$$$?%a%C%;!<%8$@$1$rBP\e(B
+\e$B>]$H$9$kB>!"0J2<$N;XDj$b$G$-$^$9!#\e(B
+
+@table @code
+@item all
+\e$B1JB3%^!<%/$,2?$G$"$C$F$b\e(B spam \e$BH=Dj$NBP>]$H$7$^$9!#\e(B
+@end table
+@end table
+
+
+@node Spam Filter Processors, , Usage of Spam Filter, Spam Filter
+@section \e$BBP1~$7$F$$$k\e(B Spam Filter
+@cindex Spam Filter, Bogofilter
+@cindex Spam Filter, Spamfilter
+
+\e$B%G%U%)%k%H$G$O!"0J2<$N\e(B spam \e$B%U%#%k%?%j%s%0%i%$%V%i%j$KBP1~$7$F$$$^$9!#\e(B
+
+@menu
+* bogofilter:: bogofilter
+* spamfilter:: spamfilter.el
+* bsfilter:: bsfilter
+* SpamAssassin:: SpamAssassin
+* SpamOracle:: SpamOracle
+* Regular Expressions Header Matching:: \e$B@55,I=8=$K$h$k%X%C%@8!::\e(B
+@end menu
+
+
+@node bogofilter, spamfilter, Spam Filter Processors, Spam Filter Processors
+@subsection bogofilter
+@cindex bogofilter
+
+bogofilter (@uref{http://bogofilter.sourceforge.net/}) \e$B$O!"\e(BC\e$B8@8l$G<BAu$5\e(B
+\e$B$l$?\e(B spam \e$B%U%#%k%?$G$9!#\e(B
+
+bogofilter \e$B$K$h$k\e(B spam \e$B%U%#%k%?$r;HMQ$9$k$K$O!"\e(B@file{~/.wl} \e$B$J$I$K0J2<$N\e(B
+\e$B@_Dj$r5-=R$7$^$9!#\e(B
+
+@lisp
+@group
+(setq elmo-spam-scheme 'bogofilter)
+@end group
+@end lisp
+
+@subsubsection \e$B%+%9%?%^%$%:JQ?t\e(B
+
+@table @code
+@item elmo-spam-bogofilter-program
+@vindex elmo-spam-bogofilter-program
+\e$B=i4|@_Dj$O!"\e(B@file{bogofilter}\e$B!#\e(B
+bogofilter \e$B$N<B9T%U%!%$%k$NL>A0$r@_Dj$7$^$9!#<B9T%U%!%$%k$,!"4D6-JQ?t\e(B
+@env{PATH} \e$B>e$K$J$$>l9g$O!"%U%k%Q%9$r@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
+
+@item elmo-spam-bogofilter-args
+@vindex elmo-spam-bogofilter-args
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B
+bogofilter \e$B$N<B9T;~$K<B9T%U%!%$%k$KEO$5$l$k0z?t$r;XDj$7$^$9!#\e(B
+
+@item elmo-spam-bogofilter-database-directory
+@vindex elmo-spam-bogofilter-database-directory
+\e$B;HMQ$9$kE}7W%G!<%?%Y!<%9$NB8:_$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#\e(B@code{nil}
+\e$B$J$i%G%U%)%k%H$N0LCV\e(B (@file{~/.bogofilter}) \e$B$,;HMQ$5$l$^$9!#\e(B
+\e$B=i4|@_Dj$O!"\e(B@code{nil}
+
+@item elmo-spam-bogofilter-max-messages-per-process
+@vindex elmo-spam-bogofilter-max-messages-per-process
+\e$B=i4|@_Dj$O!"\e(B30\e$B!#\e(B
+\e$B3X=,;~$K$^$H$a=hM}$5$l$k%a%C%;!<%8$N?t$r;XDj$7$^$9!#\e(B
+
+@item elmo-spam-bogofilter-debug
+@vindex elmo-spam-bogofilter-debug
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B
+non-nil \e$B$K;XDj$9$k$H!"\e(B@command{bogofilter} \e$B$+$i$N=PNO$,\e(B
+@code{"*Debug ELMO SPAM Bogofilter*"}\e$B$H$$$&%P%C%U%!$K=PNO$5$l$^$9!#\e(B
+@end table
+
+
+@node spamfilter, bsfilter, bogofilter, Spam Filter Processors
+@subsection spamfilter.el
+@cindex spamfilter
+
+@file{spamfilter.el}
+(@uref{http://www.geocities.co.jp/SiliconValley-PaloAlto/7043/}) \e$B$O!"\e(B
+Emacs Lisp \e$B$G<BAu$5$l$?\e(B spam \e$B%U%#%k%?%j%s%0%i%$%V%i%j$G$9!#\e(B
+
+\e$B%$%s%9%H!<%k;~$K\e(B @code{load-path} \e$B>e$K\e(B @file{spamfilter.el} \e$B$,$"$l$P!"<+\e(B
+\e$BF0E*$KBP1~%b%8%e!<%k$,%3%s%Q%$%k\e(B/\e$B%$%s%9%H!<%k$5$l$^$9!#\e(B@xref{Install}.
+
+@file{spamfilter.el} \e$B$r;HMQ$9$k$K$O!"\e(B@file{~/.wl} \e$B$J$I$K0J2<$N@_Dj$r5-=R\e(B
+\e$B$7$^$9!#\e(B(\e$B$b$A$m$s!"\e(B@file{spamfilter.el} \e$B<+BN$N@_Dj$bI,MW$G$9\e(B)
+
+@lisp
+@group
+(setq elmo-spam-scheme 'spamfilter)
+@end group
+@end lisp
+
+@subsubsection \e$B%+%9%?%^%$%:JQ?t\e(B
+
+@table @code
+@item elmo-spam-spamfilter-corpus-filename
+@vindex elmo-spam-spamfilter-corpus-filename
+\e$B=i4|@_Dj$O\e(B @file{~/.elmo/.spamfilter}\e$B!#\e(B
+\e$B%3!<%Q%9%U%!%$%k$NL>A0$r@_Dj$7$^$9!#\e(B
+@end table
+
+@node bsfilter, SpamAssassin, spamfilter, Spam Filter Processors
+@subsection bsfilter
+@cindex bsfilter
+
+bsfilter (@uref{http://bsfilter.org/}) \e$B$O!"\e(BRuby \e$B$G<BAu$5$l$?\e(B spam \e$B%U%#%k%?$G$9!#\e(B
+
+bsfilter \e$B$K$h$k\e(B spam \e$B%U%#%k%?$r;HMQ$9$k$K$O!"\e(B@file{~/.wl} \e$B$J$I$K0J2<$N\e(B
+\e$B@_Dj$r5-=R$7$^$9!#\e(B
+
+@lisp
+@group
+(setq elmo-spam-scheme 'bsfilter)
+@end group
+@end lisp
+
+@subsubsection \e$B%+%9%?%^%$%:JQ?t\e(B
+
+@table @code
+@item elmo-spam-bsfilter-program
+@vindex elmo-spam-bsfilter-program
+\e$B=i4|@_Dj$O\e(B @file{bsfilter}\e$B!#\e(B
+@command{bsfilter} \e$B$N<B9T%U%!%$%k$NL>A0$r@_Dj$7$^$9!#<B9T%U%!%$%k$,!"\e(B
+\e$B4D6-JQ?t\e(B @env{PATH} \e$B>e$K$J$$>l9g$O!"%U%k%Q%9$r@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
+
+@item elmo-spam-bsfilter-args
+@vindex elmo-spam-bsfilter-args
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B
+bsfilter \e$B$N<B9T;~$K<B9T%U%!%$%k$KEO$5$l$k0z?t$r;XDj$7$^$9!#\e(B
+
+@item elmo-spam-bsfilter-database-directory
+@vindex elmo-spam-bsfilter-database-directory
+\e$B;HMQ$9$kE}7W%G!<%?%Y!<%9$NB8:_$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#\e(B@code{nil}
+\e$B$J$i%G%U%)%k%H$N0LCV\e(B (@file{~/.bsfilter}) \e$B$,;HMQ$5$l$^$9!#\e(B
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B
+
+@item elmo-spam-bsfilter-debug
+@vindex elmo-spam-bsfilter-debug
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B
+non-nil \e$B$r;XDj$9$k$H!"\e(B@command{bsfilter} \e$B$+$i$N=PNO$,\e(B
+@code{"*Debug ELMO Bsfilter*"}\e$B$H$$$&%P%C%U%!$K=PNO$5$l$^$9!#\e(B
+
+@item elmo-spam-bsfilter-shell-program
+@vindex elmo-spam-bsfilter-shell-program
+\e$B=i4|@_Dj$O!"\e(B@file{ruby}\e$B!#\e(B
+bsfilter \e$B$r5/F0$9$k%7%'%k$NL>A0$r@_Dj$7$^$9!#%7%'%k$,4D6-JQ?t\e(B
+@env{PATH} \e$B>e$K$J$$>l9g$O!"%U%k%Q%9$r@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
+
+@item elmo-spam-bsfilter-shell-switch
+@vindex elmo-spam-bsfilter-shell-switch
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B
+bsfilter \e$B$r5/F0$9$k%7%'%k$KM?$($k0z?t$r;XDj$7$^$9!#\e(B
+
+@item elmo-spam-bsfilter-update-switch
+@vindex elmo-spam-bsfilter-update-switch
+\e$B=i4|@_Dj$O!"\e(B@code{"--auto-update"}\e$B!#\e(B
+\e$B%a%C%;!<%8$r3X=,$9$k:]$K\e(B @command{bsfilter} \e$B$KM?$($k0z?t$r;XDj$7$^$9!#\e(B
+
+@end table
+
+@node SpamAssassin, SpamOracle, bsfilter, Spam Filter Processors
+@subsection SpamAssassin
+@cindex SpamAssassin
+
+SpamAssassin (@uref{http://spamassassin.org/}) \e$B$O!"\e(BPerl \e$B8@8l\e(B
+\e$B$G<BAu$5$l$?!"%F%-%9%H2r@O5;=Q$d%V%i%C%/%j%9%H$K4p$E$/%a!<%k%U%#%k%?$G!"\e(B
+\e$B:G$b$h$/;H$o$l$F$$$k\e(B spam \e$B%U%#%k%?$N0l$D$G$9!#\e(BSpamAssassin \e$B$O\e(B Bayesian \e$B%U%#\e(B
+\e$B%k%?$r;HMQ$7$F$*$j!"\e(Bspam \e$B$H@5Ev$J%a!<%k$K$D$$$F3X=,$5$;$k$3$H$GH=Dj$N@53N\e(B
+\e$B@-$r8~>e$9$k$3$H$,$G$-$^$9!#\e(B
+
+@file{SpamAssassin} \e$B$r;HMQ$9$k$K$O!"\e(B@file{~/.wl} \e$B$J$I$K0J2<$N@_Dj$r5-=R$7\e(B
+\e$B$^$9!#\e(B(\e$B$b$A$m$s!"$"$i$+$8$a\e(B SpamAssassin \e$B$,%$%s%9%H!<%k$5$l!"@5>o$KF0:n$9\e(B
+\e$B$k$3$H$r3NG'$7$F$/$@$5$$\e(B)
+
+@lisp
+@group
+(setq elmo-spam-scheme 'sa)
+@end group
+@end lisp
+
+@subsubsection \e$B%+%9%?%^%$%:JQ?t\e(B
+
+@table @code
+@item elmo-spam-spamassassin-program
+@vindex elmo-spam-spamassassin-program
+\e$B=i4|@_Dj$O\e(B @file{spamassassin}\e$B!#\e(B
+@command{spamassassin} \e$B$N<B9T%U%!%$%k$NL>A0$r@_Dj$7$^$9!#<B9T%U%!%$%k$,!"\e(B
+\e$B4D6-JQ?t\e(B @env{PATH} \e$B>e$K$J$$>l9g$O!"%U%k%Q%9$r@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
+
+@item elmo-spam-spamassassin-learn-program
+@vindex elmo-spam-spamassassin-learn-program
+\e$B=i4|@_Dj$O\e(B @file{sa-learn}\e$B!#\e(B
+SpamAssassin \e$B$K$*$$$F\e(B Bayesian \e$B%U%#%k%?$N3X=,$r9T$J$&%W%m%0%i%`!"\e(B
+@command{sa-learn} \e$B$N<B9T%U%!%$%k$NL>A0$r@_Dj$7$^$9!#<B9T%U%!%$%k$,!"4D6-\e(B
+\e$BJQ?t\e(B @env{PATH} \e$B>e$K$J$$>l9g$O!"%U%k%Q%9$r@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
+
+@item elmo-spam-spamassassin-program-arguments
+@vindex elmo-spam-spamassassin-program-arguments
+\e$B=i4|@_Dj$O!"\e(B@code{'("-e")}\e$B!#\e(B
+@command{spamassassin} \e$B<B9T;~$KM?$($k0z?t$r;XDj$7$^$9!#\e(B
+spam \e$B$NH=Dj7k2L$r!"%W%m%0%i%`$N%W%m%;%9=*N;%3!<%I$H$7$F=PNO$9$k0z?t$r\e(B
+\e$BM?$($kI,MW$,$"$j$^$9!#Nc$($P!"\e(B@command{spamassassin} \e$B$NBX$o$j$K\e(B
+@command{spamc} \e$B$rMQ$$$k>l9g!"\e(B@code{'("-c")} \e$B$r@_Dj$7$J$1$l$P$J$j$^$;$s!#\e(B
+
+@item elmo-spam-spamassassin-learn-program-arguments
+@vindex elmo-spam-spamassassin-lern-program-arguments
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B
+SpamAssassin \e$B$N3X=,MQ%W%m%0%i%`\e(B @command{sa-learn} \e$B<B9T;~$KM?$($k\e(B
+\e$B0z?t$r;XDj$7$^$9!#\e(B
+
+@item elmo-spamassassin-debug
+@vindex elmo-spamassassin-debug
+\e$B=i4|@_Dj$O!"\e(B@code{nil}\e$B!#\e(B@code{t} \e$B$r;XDj$9$k$H!"\e(B@command{spamassassin}
+\e$B$+$i$N=PNO$,\e(B @code{"*Debug ELMO SpamAssassin*"}\e$B$H$$$&%P%C%U%!$K=PNO$5$l$^$9!#\e(B
+
+@end table
+
+@node SpamOracle, Regular Expressions Header Matching, SpamAssassin, Spam Filter Processors
+@subsection SpamOracle
+@cindex SpamOracle
+
+SpamOracle (`http://pauillac.inria.fr/~xleroy/software.html#spamoracle')
+\e$B$O!"\e(BObjective Caml \e$B$G<BAu$5$l$?\e(B spam \e$B%U%#%k%?$G$9\e(B.
+
+@file{SpamOracle} \e$B$r;HMQ$9$k$K$O!"\e(B@file{~/.wl}\e$B$J$I$K0J2<$N@_Dj$r5-=R$7$^$9!#\e(B
+(\e$B$b$A$m$s!"$"$i$+$8$a\e(B SpamOracle \e$B$,%$%s%9%H!<%k$5$l!"@5>o$KF0:n$9$k$3$H$r\e(B
+\e$B3NG'$7$F$/$@$5$$\e(B)
+
+@lisp
+@group
+(setq elmo-spam-scheme 'spamoracle)
+@end group
+@end lisp
+
+@subsubsection \e$B%+%9%?%^%$%:JQ?t\e(B
+
+@table @code
+@item elmo-spam-spamoracle-program
+@vindex elmo-spam-spamoracle-program
+\e$B=i4|@_Dj$O\e(B @file{spamoracle}\e$B!#\e(B
+@command{spamoracle} \e$B$N<B9T%U%!%$%k$NL>A0$r@_Dj$7$^$9!#<B9T%U%!%$%k$,!"\e(B
+\e$B4D6-JQ?t\e(B @env{PATH} \e$B>e$K$J$$>l9g$O!"%U%k%Q%9$r@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
+
+@item elmo-spam-spamoracle-config-filename
+@vindex elmo-spam-spamoracle-config-filename
+\e$B=i4|@_Dj$O\e(B @code{nil}\e$B!#\e(B
+@command{spamoracle} \e$B$N@_Dj%U%!%$%k$r;XDj$7$^$9\e(B.
+@code{nil} \e$B$r;XDj$9$k$H!"%G%U%)%k%H$N@_Dj%U%!%$%k\e(B
+(@file{~/.spamoracle.conf})\e$B$,;HMQ$5$l$^$9!#\e(B
+
+@item elmo-spam-spamoracle-database-filename
+@vindex elmo-spam-spamoracle-database-filename
+\e$B=i4|@_Dj$O\e(B @file{~/.elmo/.spamoracle.db}\e$B!#\e(B
+@command{spamoracle} \e$B$G;HMQ$9$k%G!<%?%Y!<%9%U%!%$%k$N%Q%9$r;XDj$7$^$9!#\e(B
+
+@item elmo-spam-spamoracle-spam-header-regexp
+@vindex elmo-spam-spamoracle-spam-header-regexp
+\e$B=i4|@_Dj$O\e(B @code{"^X-Spam: yes;"}\e$B!#\e(B
+spam \e$B%a!<%k$G$"$k$3$H$r<($9%X%C%@$N@55,I=8=$r;XDj$7$^$9!#\e(B
+@command{spamoracle} \e$B$N@_Dj%U%!%$%kFb$G!"\e(B @code{spam_header} \e$B%Q%i%a!<%?$N\e(B
+\e$B@_Dj$rJQ99$7$?>l9g$O!"$3$NJQ?t$NCM$r@_Dj$7$F$/$@$5$$!#\e(B
+
+@end table
+
+@node Regular Expressions Header Matching, , SpamOracle, Spam Filter Processors
+@subsection Regular Expressions Header Matching
+@cindex Regular Expressions Header Matching
+
+\e$B%a%C%;!<%8%X%C%@$N3F%U%#!<%k%I$,@55,I=8=$H9gCW$9$k$+$I$&$+$r8!::$7!"\e(Bspam
+\e$B$+$I$&$+$rH=Dj$7$^$9!#$3$N%P%C%/%(%s%I$r;HMQ$9$k$K$O!"\e(B@file{~/.wl} \e$B$J$I\e(B
+\e$B$K0J2<$N@_Dj$r5-=R$7$^$9!#\e(B
+
+@lisp
+@group
+(setq elmo-spam-scheme 'header)
+@end group
+@end lisp
+
+overview \e$B>pJs$K4^$^$l$J$$%U%#!<%k%I$r8!::$NBP>]$H$9$k>l9g!"\e(B
+@code{elmo-msgdb-extra-fields} \e$B$KDI2C$7$F$*$/$H!"=PMh$k$@$1%a%C%;!<%8K\\e(B
+\e$BBN$rFI$_9~$^$:$K\e(B overview \e$B>pJs$r85$K8!::$7$^$9!#\e(B
+
+@subsubsection \e$B%+%9%?%^%$%:JQ?t\e(B
+
+@table @code
+@item elmo-spam-header-good-alist
+@vindex elmo-spam-header-good-alist
+\e$B=i4|@_Dj$O0J2<$NDL$j!#\e(B
+
+@lisp
+'(("X-Spam-Flag" . "No"))
+@end lisp
+
+\e$B%X%C%@%U%#!<%k%IL>$H9gCW$7$?;~$K\e(B non-spam \e$B$HH=Dj$9$k0Y$N@55,I=8=$NAH$r%j\e(B
+\e$B%9%H$G;XDj$7$^$9!#\e(B@code{elmo-spam-header-spam-alist} \e$B$h$jM%@h$5$l$^$9!#\e(B
+
+@item elmo-spam-header-spam-alist
+@vindex elmo-spam-header-spam-alist
+\e$B=i4|@_Dj$O0J2<$NDL$j!#\e(B
+
+@lisp
+'(("X-Spam-Flag" . "Yes"))
+@end lisp
+
+\e$B%X%C%@%U%#!<%k%IL>$H9gCW$7$?;~$K\e(B spam \e$B$HH=Dj$9$k0Y$N@55,I=8=$NAH$r%j%9%H\e(B
+\e$B$G;XDj$7$^$9!#\e(B
+@end table
+
+
+@node Advanced Issues, Migration, Spam Filter, Top
+@chapter \e$B$h$j?J$s$@;H$$J}\e(B
+@cindex Advanced Issues
+
+@menu
+* Living with other packages:: \e$B%Q%C%1!<%8$N$"$k@83h\e(B
+* Highlights:: \e$B%O%$%i%$%H$N@_Dj\e(B
+* Biff:: \e$B%a!<%k$NCe?.$rCN$i$;$k\e(B
+* Password Management:: \e$B%Q%9%o!<%I$N4IM}\e(B
+* Split messages:: \e$B%a%C%;!<%8$N?6$jJ,$1\e(B
+* Batch Processing:: \e$B%P%C%A=hM}\e(B
+* Advanced Settings:: \e$B%+%9%?%^%$%:!A1~MQJT!A\e(B
+* Customizable Valiables:: \e$B$=$NB>$N%+%9%?%^%$%:JQ?t0lMw\e(B
+* Hooks:: \e$B%U%C%/\e(B
+@end menu
+
+
+@node Living with other packages, Highlights, Advanced Issues, Advanced Issues
+@section \e$B%Q%C%1!<%8$N$"$k@83h\e(B
+
+\e$BB>$N%Q%C%1!<%8$r;H$&$?$a$N@_DjNc$G$9!#\e(B
+
+@menu
+* imput:: imput (im-wl.el)
+* BBDB:: The Insidious Big Brother Database
+* LSDB:: The Lovely Sister Database
+* supercite:: supercite.el
+* mu-cite:: mu-cite.el
+* X-Face:: x-face,bitmap-mule
+* dired-dd:: dired-dd.el
+* MHC:: MHC
+* Addrbook:: Addrbook
+* mime-w3m:: mime-w3m.el
+@end menu
+
+
+@node imput, BBDB, Living with other packages, Living with other packages
+@subsection imput
+@pindex imput
+@cindex im-wl
+
+@file{util/im-wl.el} \e$B$r\e(B @code{load-path} \e$B$K$*$$$F0J2<$N$h$&$K@_Dj$9$l$P\e(B
+OK \e$B$G$9!#\e(B
+
+@lisp
+@group
+(autoload 'wl-draft-send-with-imput-async "im-wl")
+(setq wl-draft-send-function 'wl-draft-send-with-imput-async)
+@end group
+@end lisp
+
+
+@node BBDB, LSDB, imput, Living with other packages
+@subsection bbdb.el
+@pindex BBDB
+
+The Insidious Big Brother Database (@uref{http://bbdb.sourceforge.net/})
+\e$B$r\e(B Wanderlust \e$B$H6&$K;H$&$K$O!"\e(B @file{util/bbdb-wl.el} \e$B$r\e(B @code{load-path}
+\e$B$KCV$$$F0J2<$N$h$&$K@_Dj$9$l$P\e(B OK \e$B$G$9!#\e(B
+
+\e$B%$%s%9%H!<%k;~$K\e(B @code{load-path} \e$B>e$K\e(B BBDB \e$B$,$"$l$P!"\e(B
+@file{bbdb-wl.el} \e$B$O%P%$%H%3%s%Q%$%k\e(B/\e$B%$%s%9%H!<%k$5$l$^$9!#\e(B
+@xref{Install}.
+
+@lisp
+@group
+(require 'bbdb-wl)
+
+(bbdb-wl-setup)
+;; @r{\e$B%]%C%W%"%C%WI=<(\e(B}
+(setq bbdb-use-pop-up t)
+;; @r{\e$B<+F0<}=8\e(B}
+(setq bbdb/mail-auto-create-p t)
+;; @r{\e$B<+F0<}=8$7$J$$%U%)%k%@$N;XDj\e(B}
+(setq bbdb-wl-ignore-folder-regexp "^@@")
+(setq signature-use-bbdb t)
+(setq bbdb-north-american-phone-numbers-p nil)
+;; @r{\e$B%5%^%j$K\e(B bbdb \e$B$NL>A0$rI=<(\e(B} :-)\e$B!#\e(B
+(setq wl-summary-from-function 'bbdb-wl-from-func)
+;; @r{\e$B<+F0E*$K\e(B ML \e$B%U%#!<%k%I$r2C$($k\e(B}
+(add-hook 'bbdb-notice-hook 'bbdb-auto-notes-hook)
+(setq bbdb-auto-notes-alist '(("X-ML-Name" (".*$" ML 0))))
+@end group
+@end lisp
+
+\e$B%I%i%U%H%P%C%U%!$G\e(B @kbd{M-@key{TAB}} \e$B$K$h$j\e(B BBDB \e$B$rMQ$$$?\e(B
+\e$B%"%I%l%9$NJd40$,$G$-$^$9!#\e(B
+
+
+@node LSDB, supercite, BBDB, Living with other packages
+@subsection lsdb.el
+@pindex LSDB
+
+The Lovely Sister Database (@uref{http://sourceforge.jp/projects/lsdb/})
+\e$B$r\e(B Wanderlust \e$B$H6&$K;H$&$?$a$N@_DjNc$r0J2<$K<($7$^$9!#\e(B
+
+@lisp
+@group
+(require 'lsdb)
+(lsdb-wl-insinuate)
+(add-hook 'wl-draft-mode-hook
+ (lambda ()
+ (define-key wl-draft-mode-map "\M-\t" 'lsdb-complete-name)))
+@end group
+@end lisp
+
+\e$B$3$NNc$G$O\e(B LSDB \e$B$rMQ$$$?%"%I%l%9$NJd40$r\e(B @kbd{M-@key{TAB}} \e$B$K3d$jEv$F$F\e(B
+\e$B$$$^$9!#\e(B
+
+
+@node supercite, mu-cite, LSDB, Living with other packages
+@subsection sc.el(supercite), sc-register.el
+@pindex sc
+@pindex supercite
+
+\e$BIaDL$N%a!<%i$HF1$8@_Dj$G\e(B OK \e$B$G$9!#0J2<$O!"@_Dj$N0lNc$G$9!#\e(B
+
+@lisp
+@group
+(autoload 'sc-cite-original "supercite" nil t)
+(add-hook 'mail-citation-hook 'sc-cite-original)
+@end group
+@end lisp
+
+
+@node mu-cite, X-Face, supercite, Living with other packages
+@subsection mu-cite.el
+@pindex mu-cite
+
+\e$BIaDL$N%a!<%i$HF1$8@_Dj$G\e(B OK \e$B$G$9!#0J2<$O@_Dj$N0lNc$G$9!#\e(B
+
+mu-cite 8.0\e$B0JA0$N%P!<%8%g%s$r$*;H$$$J$i!"\e(B
+\e$B0J2<$N$h$&$K@_Dj$7$F$/$@$5$$!#\e(B
+
+@lisp
+@group
+(autoload 'mu-cite/cite-original "mu-cite" nil t)
+(setq mail-citation-hook 'mu-cite/cite-original)
+@end group
+@end lisp