00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] System Controller (rev 12) 00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] AGP Bridge 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) 00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C/VT8235 PIPC Bus Master IDE (rev 06) 00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 50) 00:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 02) 00:08.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 02) 00:09.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41) 00:0a.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 03) 01:05.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 85)mew4
plamo 4.03_01.iso(8/17版)をインストールして、 mew4 にいれかえてみました。 このページを眺めていたら、 Mew4FAQ
スパムフィルタ † * 取得、あるいはスキャン時に、メッセージに 'o' や 'D' マークを付ける ことが可能になりました。(mew-inbox-action-alist) * pick のような感じでコマンドを呼び出して、スパムに '*' マークを付け ることができます。 * IMAP サーバ内でスパムを削除/リファイルし、必要なメッセージだけを スキャンできるようになりました。('mew-imap-spam-field') * 現在のメッセージをスパム、あるいは非スパム(ハム)として学習させる ことができます。("ls" と "lh") |
bsfilter bsfilter / bayesian spam filter / ベイジアン スパム フィルタ bsfilter with mew bsfilter with mew bsfilter のインストール 必要なもの bsfilter-1.0.9.tgz ruby-1.8.2.tar.gz (1)bsfilter jeanne@chie:~/tools/bsfilter-1.0.9$ ls COPYING bsfilter/ htdocs/ mda/ mua/ $ cd ./bsfilter jeanne@chie:~/tools/bsfilter-1.0.9/bsfilter$ ls bsfilter* bsfilter.exe* bsfilter.exr bsfilterw.exe* bsfilter をパスのあるディレクトリにコピー # cp bsfilter /usr/bin ここにあるemacs.el と mew.el のなかみを必要なファイルに書き加える。 ./bsfilter-1.0.9/mua/mew4$ ls emacs.el mew.el * mua/mew4/emacs.elを~/.emacs.elに追加する。 * mua/mew4/mew.elを~/.mew.elに追加する。
.mew.el ;bsfilter (setq mew-pop-proxy-server "localhost") (setq mew-pop-proxy-port "10110") (setq mew-scan-fields (delete mew-spam: mew-scan-fields)) (setq mew-scan-fields (delete "Body" mew-scan-fields)) (setq mew-spam: "X-Spam-Flag:") (setq mew-scan-fields (append mew-scan-fields (list mew-spam: "Body"))) (setq mew-inbox-action-alist '(("X-Spam-Flag:" mew-bsfilter))) ; put "D" (defun mew-spam-bsfilter (val) (let ((case-fold-search t)) (if (string-match "yes" val) ?D))) ; put "o +sapm" at inc ;(defun mew-spam-bsfilter (val) ; (let ((case-fold-search t)) ; (if (string-match "yes" val) "+trash"))) ;(if (string-match "yes" val) "+spam"))) (setq mew-inbox-action-alist '(("X-Spam-Flag:" mew-spam-bsfilter))) ;(setq mew-inbox-action-alist ; '(("info@*:" mew-spam-bsfilter))) ; for "ls" (learn-spam) (setq mew-spam-prog "bsfilter") (setq mew-spam-prog-args '("-C" "-s" "-u")) ; for "lh" (learn-ham) (setq mew-ham-prog "bsfilter") (setq mew-ham-prog-args '("-c" "-S" "-u")) ; for "bm" (mark-spam) (define-key mew-summary-mode-map "bm" 'mew-summary-bsfilter-mark-region) (defun mew-summary-bsfilter-mark-region (&optional arg) "study/judge the region and put the '*' mark onto spams. need to re-learn if judgment of bsfilter is wrong" (interactive "P") (mew-pickable (let ((func 'mew-summary-pick-with-cmd) (mew-inherit-grep-cmd "bsfilter -a --list-spam")) (mew-summary-pick-body func t nil 'nopattern)))) ; show X-Spam-Flag and X-Spam-Probability in message buffer (setq mew-field-spec (reverse (append (list (car (reverse mew-field-spec))) '(("^X-Spam-Probability:$" t) ("^X-Spam-Flag:$" t)) (cdr (reverse mew-field-spec))))) |
(2)bsfilter の使い方 mewがメッセージを取得する際、既にMTA, POP proxy等によりX-Spam-Flagヘッダが付いている場合には、spamに自動的に"D"マークが付く。 summaryモードで以下が利用できる。 lh learn-ham。現在のメッセージをcleanとして学習する。 ls learn-spam。現在のメッセージをspamとして学習する。 bm リージョン内のメイルを学習、判定。spamには"*"マークが付く。 サマリーモードで、該当メールに ls と入力してやると、 ミニバッファに Laening as spam.... というメッセージを出して、 「学習」する。 (3)bsfilter の起動 $ bsfilter --pop --auto-update --insert-flag --insert-probability --pop-server mbox.kyoto-inet.or.jp --pop-port 110 --pop-proxy-port 10110 & 確認 395 pts/0 S 0:00 ruby /usr/bin/bsfilter --pop --auto-update --insert-flag --insert-probability --pop-server mbox.kyoto-inet.or.jp --pop-port 110 --pop-proxy-port 10110 ホームディレクトリに、 bsfilter というファイルを作成し、実行許可をつける。 -rwxr--r-- 1 jeanne users 182 9月 16日 10:26 bsfilter* ------------- /usr/bin/bsfilter --pop --auto-update --insert-flag --insert-probability --pop-server mbox.kyoto-inet.or.jp --pop-port 110 --pop-proxy-port 10110 --homedir /home/jeanne/.bsfilter ------------- ~/.bash_login ファイルに次の記述を追加。 /home/jeanne/bsfilter & これでローカルユーザ jeanne でログインした時に bsfilter が自動的に起動します。 bsfilter に、clean なメールと spam メールについて学習してもらう (コマンドからもいけますが、 mew のサマリーモードで ls と入力すると学習する) クリーンメール $ bsfilter --add-clean ~/Mail/inbox/* $ bsfilter --add-clean ~/Mail/メールフォルダー/* spam メール $ bsfilter --add-spam ~/Mail/trash/* 最後に $ bsfilter --update 一旦学習が終わったらお試し $ bsfilter ~/Mail/inbox/1 (番号は必要なものを) こんな感じで該当のメールが spam かどうかをbsfilter が判断する jeanne@chie:~$ bsfilter ~/Mail/inbox/1 combined probability /home/jeanne/Mail/inbox/1 1 0.000000 jeanne@chie:~/Mail/inbox$ bsfilter ~/Mail/inbox/81 combined probability /home/jeanne/Mail/inbox/81 1 0.500000 (5)効果!! spam と判断されたものは、D マーク記号がつきます。 いま横行している info@ の spam はランダムなドメイン名になっているようで、 新しいものはなかなかひっかからないですね。 ここでひっかからなかったメールは ls で spam 学習をさせておきます。 mew で受け取り時に、spam は自動的に D 記号が付され、 あとは x を入力すれば、一括で trash box に移動します。 参考 bsfilteの設定bookview
/contrib/Text bookview-3.2-i386-P1.tgz ndtpd-3.1.5-i386-P1.tgz eb-4.0-i386-P1.tgz 辞書類は、 /usr/share/eb/appendix/ 以下におく chujiten-2.3.tar.gz など ndtpd を手動で起動するには、 # /usr/sbin/ndtpd 設定にエラーがないかどうかを調べるためには、 $ /usr/sbin/ndtpcheck kill や restartには、 /usr/sbin/ndtpcontrol きちんと起動するなら、 起動時に ndtp が起動するように、 /etc/inetd.conf に次の記述を加えます。 ndtp stream tcp nowait root /usr/sbin/ndtpd ndtpd --inetd ndtpd.conf を作る /usr/etc/ndtpd.conf.sample ndtpd.conf.sample を ndtpd.conf として変更する。 /usr/etc/ndtpd.conf ###################################################################### # Configuration file for NDTPD and ebHTTPD. # (Copy this file to `ndtpd.conf', and edit it.) ###################################################################### ### Port number `ndtpd' binds. ### (default: ndtp) # ndtp-port ndtp ### Port number `ebhttpd' binds. ### (default: http) # http-port http ### Owner of the server process. ### (default: none) #user ndtpuser ### Group of the server process. ### (default: none) #group ndtpgrp ### How many clients can be connected to the server at the same time. ### (default: 1) # max-clients 1 ### Which hosts can or cannot connect to the server. ### (default: none) hosts 127.0.0.1 hosts ::1 hosts !? hosts chie.minerva.com ### Timeout seconds until the server disconnects an idle connection. ### (default: 900) # timeout 900 ### Path to a working directory. ### Please create the directory and make it be writable for the server ### processes before executing the server. ### (default: /usr/var/ndtpd) # work-path /usr/var/ndtpd ### How many hit entries the server tries to find at a search. ### (default: 50) # max-hits 50 ### The maximum size of text the server may send as a response to ### a client. ### (default: 32768) # max-text-size 32768 ### Syslog facility ### (default: daemon) syslog-facility local0 ### ### Book entry ### begin book name chujiten title 研究社 英和・和英中辞典 path /application/dict appendix-path /usr/share/eb/appendix/chujiten-2.3 max-clients 2 hosts 127.0.0.1 hosts chie.minerva.com alias-eiwa chujiten alias-waei chujiten end begin book name genius title ジーニアス英和辞典 path /application/dict/genius appendix-path /usr/share/eb/appendix/genius-1.0 max-clients 2 hosts 127.0.0.1 hosts chie.minerva.com end begin book name readers title 研究社 リーダーズ英和辞典 path /application/dict/readers appendix-path /usr/share/eb/appendix/readers2-2.0 max-clients 2 hosts 127.0.0.1 hosts chie.minerva.com end begin book name kojien title 広辞苑 第四版 電子ブック版 path /application/dict/koujien appendix-path /usr/share/eb/appendix/kojien4-2.2 max-clients 2 hosts 127.0.0.1 hosts chie.minerva.com end ### Aliases. ### (default: none) # alias-eiwa chujiten # alias-waei chujiten # alias-kojien iwakoku #end ### Add a book group directive (lines between `begin book' and `end'), ### if you want to read another CD-ROM book. A book group directive ### is required for each book.