+@lisp
+@group
+;; @r{@samp{bogofilter} \e$B$r;H$&>l9g!#\e(B}
+;; @r{\e$B$3$3$G!";H$$$?$$\e(B spam \e$B%U%#%k%?$N\e(B @samp{scheme} \e$B$r@_Dj$7$F2<$5$$!#\e(B}
+;; @r{@xref{Spam Filter Processors}.}
+(setq elmo-spam-scheme 'bogofilter)
+(require 'wl-spam)
+@end group
+@end lisp
+
+@subsection spam \e$B%^!<%/\e(B
+
+\e$B0l;~E*%^!<%/$K\e(B spam \e$B%^!<%/\e(B (@samp{s}) \e$B$,DI2C$5$l$^$9!#$3$N%^!<%/$NIU$$$?\e(B
+\e$B%a%C%;!<%8$O!"%"%/%7%g%s$N<B9T;~$K\e(B @code{wl-spam-folder} \e$B$K%j%U%!%$%k$5\e(B
+\e$B$l$^$9!#$^$?!"%G%U%)%k%H$N@_Dj$G$O%5%^%j$G$NDL>o$N0\F0$G%9%-%C%W$5$l$k$h\e(B
+\e$B$&$K$J$j$^$9!#\e(B
+
+spam \e$B%^!<%/$O!"8e=R$9$k\e(B spam \e$B$NH=Dj=hM}$G<+F0E*$KIU$/B>!"\e(B@kbd{k m} \e$B$H2!\e(B
+\e$B$7$FG$0U$KIU$1$k$3$H$b=PMh$^$9!#\e(B
+
+@subsection spam \e$B$NH=Dj\e(B
+
+\e$B0J2<$NJ}K!$G\e(B spam \e$B$NH=Dj$r9T$&$3$H$,=PMh$^$9!#\e(B
+
+@enumerate
+@item
+\e$B<+F0%j%U%!%$%k$N<B9T;~$KH=Dj$9$k!#\e(B
+
+\e$B0J2<$N@_DjNc$N$h$&$K\e(B @code{wl-auto-refile-guess-functions} \e$B$NG$0U$N0LCV\e(B
+\e$B$K\e(B @code{wl-refile-guess-by-spam} \e$B$rA^F~$7$^$9!#\e(B
+
+@lisp
+@group
+(setq wl-auto-refile-guess-functions
+ '(wl-refile-guess-by-rule
+ wl-refile-guess-by-spam))
+@end group
+@end lisp
+
+\e$B$3$NNc$N>l9g!"\e(B@code{wl-refile-rule-alist} \e$B$G?6$jJ,$1@h$,7h$^$i$J$+$C$?;~\e(B
+\e$B$K\e(B spam \e$B$+$I$&$+$rH=Dj$9$k$h$&$K$7$F$$$^$9!#\e(B
+
+@item
+\e$BFCDj$N%U%)%k%@$N%5%^%j$K0\F0$7$?;~$KH=Dj$9$k!#\e(B
+
+@code{wl-spam-auto-check-folder-regexp-list} \e$B$K<+F0H=Dj$r9T$$$?$$%U%)%k\e(B
+\e$B%@L>$N@55,I=8=$N%j%9%H$r@_Dj$7$^$9!#\e(B
+
+@lisp
+(setq wl-spam-auto-check-folder-regexp-list '("\\+inbox"))
+@end lisp
+
+\e$B$3$NNc$N>l9g!"%U%)%k%@L>$K\e(B @samp{+inbox} \e$B$r4^$`%U%)%k%@$N%5%^%j$K0\F0$7\e(B
+\e$B$?;~$KH=Dj=hM}$,<B9T$5$l$^$9!#\e(B
+
+@item
+@code{elmo-split} \e$B$K$h$k%a%C%;!<%8$N?6$jJ,$1;~$KH=Dj$9$k!#\e(B
+
+@code{elmo-split-rule} \e$B$N\e(B @samp{CONDITION} \e$B$H$7$F;XDj=PMh$k4X?t$K\e(B
+@code{spam-p} \e$B$,DI2C$5$l$^$9!#$3$N4X?t$O!"BP>]$N%a%C%;!<%8$,\e(B spam \e$B$HH=Dj\e(B
+\e$B$5$l$?;~$K??$H$J$j$^$9!#\e(B
+@xref{Split messages}.
+
+\e$B$^$?!"H=Dj7k2L$r85$K3X=,$5$;$k$3$H$b=PMh$^$9!#\e(B(\e$B$"$kDxEY3X=,$,?J$s$G$+$i!"\e(B
+\e$B$3$N@_Dj$rM-8z$K$9$k$H$h$$$G$7$g$&\e(B)
+
+\e$B0J2<$KNc$r<($7$^$9!#\e(B
+
+@lisp
+@group
+(setq elmo-split-rule
+ '(((spam-p) "+spam")
+ ;; @r{\e$BH=Dj7k2L$r85$K3X=,$5$;$k>l9g$OBe$o$j$K2<$N>r7o$r;H$&\e(B}
+ ;((spam-p :register t) "+spam")
+ (t "+inbox"))
+@end group
+@end lisp
+@end enumerate
+
+@subsection spam \e$B$N3X=,\e(B
+
+@code{wl-spam} \e$B$O!"%a%C%;!<%8$r%j%U%!%$%k$9$k$3$H$G!"<+F0E*$K\e(B spam \e$B$r3X\e(B
+\e$B=,$7$^$9!#\e(B
+
+\e$B$^$:!"\e(B@code{wl-spam} \e$B$O\e(B Wanderlust \e$B$N4IM}$9$k%U%)%k%@$r$=$3$K4^$^$l$k%a%C\e(B
+\e$B%;!<%8$N6hJ,$K$h$C$F!"0J2<$N\e(B 4\e$B$D$NNN0h$KJ,N`$7$^$9!#\e(B
+
+@table @samp
+@item spam
+spam \e$B$HH=Dj$5$l$?%a%C%;!<%8$,$"$k%U%)%k%@!#\e(B
+(@code{wl-spam-folder} \e$B$K@_Dj$5$l$?%U%)%k%@\e(B)
+@item good
+non-spam \e$B$HH=Dj$5$l$?%a%C%;!<%8$,$"$k%U%)%k%@!#\e(B
+@item undecide
+\e$BL$H=Dj$N%a%C%;!<%8$,$"$k%U%)%k%@!#\e(B@samp{+inbox} \e$BEy!"<+?H$G?6$jJ,$1$F$$$J\e(B
+\e$B$$%a%C%;!<%8$,$"$k%U%)%k%@$,3:Ev$7$^$9!#\e(B
+(@code{wl-spam-undecided-folder-regexp-list} \e$B$G@_Dj\e(B)
+@item ignored
+@code{wl-trash-folder} \e$B$d\e(B @code{wl-draft-folder} \e$BEy!"\e(Bspam \e$B$N=hM}$H$O4X78\e(B
+\e$B$N$J$$%U%)%k%@!#\e(B(@code{wl-spam-ignored-folder-regexp-list} \e$B$G@_Dj\e(B)
+@end table
+
+\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(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(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$^$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$^$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$^$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$^$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$^$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
+\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{"--synchronous-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