[mew-dist 26692] Re: Q: different mew-spam:

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2005年 11月 28日 (月) 21:44:36 JST


From: moto kawasaki <moto at example.com> さん曰く
Subject: [mew-dist 26690] Q: different mew-spam:
Message-ID: <20051128.145551.138191160.moto at example.com>
Date: Mon, 28 Nov 2005 14:55:51 +0900 (JST)

> そこで、両方が同時に動くようにしたくて ~/.mew.el の該当部分を
> 
> > (setq mew-inbox-action-alist
> >       '(("X-Bogosity:" mew-spam-bogofilter)
> >         ("X-Spam:"     mew-spam-bogofilter)))

ちゃんとやろうとすると、結構めんどくさいですね。

(1) "X-Bogosity:", "X-Spam:" の両方が扱えるように
    mew-scan-fields, mew-scan-fields-alias を設定する。

(setq mew-spam: "X-Bogosity:") ;; これは .emacs
;; ここからは、~/.mew.el (でよいと思う)
(setq mew-spam2: "X-Spam:")

(setq mew-scan-fields
      (append (delete "Body" mew-scan-fields)
	      `(,mew-spam2: "Body")))

(setq mew-scan-fields-alias
      (append (delete "BODY" mew-scan-fields-alias)
	      '("SPAM2" "BODY")))

これで、"X-Bogosity:", "X-Spam:" の両方を mew-inbox-action-alist
に設定出来るようになります。上記を動かして、もし、

(> (length mew-scan-fields) (length mew-vec)) => t

となるようなら、mew-vec も変えないとなりません。(大丈夫だと思う
ので方法は省略)

(2) mew-inbox-action-alist 関連の設定
cloudmark 用の関数を書いて設定。

(defun mew-spam-cloudmark (val)
  (let ((case-fold-search t))
    (if (string-match "yes" val) ?*)))

(defun mew-spam-bogofilter (val)
  (let ((case-fold-search t))
    (if (string-match "yes" val) ?*)))

(setq mew-inbox-action-alist
      `((,mew-spam: mew-spam-bogofilter)
	(,mew-spam2: mew-spam-cloudmark)))

試していないので、動かなかったらごめんなさい。

# あ、mew-spam-bogofilter() と mew-spam-cloudmark() っておんなじ
# じゃん ^^;;;

-- 
白井秀行 (mailto:shirai at example.com)



Mew-dist メーリングリストの案内