Forums: users (Thread #20554)

POPモードで最後のメッセージが処理されない (2008-11-16 10:26 by zxcv3794 #39927)

今日は、水口です。

たかくさんのレポートに似ているとも言える現象が、私の手元でも出ています。 発生条件が少し違う様なので、別スレッドにしました。


bsfilter-1.0.17.rc1.tgz 中の bsfilterw.exe を WinXP で POPモードで使用しているのですが、まれに insert-flag insert-probability insert-revision が効かない(X-Spam-Flag: とかが挿入されない)メッセージがあります。

X-Spam-Flag: が無いと、フロントエンドの Mew の Spam振り分け条件を擦り抜けてあたかも「見逃がされた SPAM」の様に見えるのですが、POP受信完了後に mew-summary-bsfilter-mark-region するとちゃんと Spam判定されます。 手操作で bsfilter.exe を動かしてもやはり Spam判定されます。

どうやら、1回の retrieve 操作の結果のうち最後のメッセージで起り易い様ですが、それ以外の条件はまだ見えてきません。 (シングルパートで "&" を含まないメッセージでも発生例があります)

また、bsfilter-1.0.16.tgz では、この問題に遭遇した記憶がありません。


後程、なべやさん宛に発生例と bsfilter.conf ファイルを送らせて頂きます。


P.S. <http://sourceforge.jp/forum/forum.php?thread_id=19248&forum_id=4204> の --refer-all-header オプションは、とても快適です。 時々受信していた 最小ヘッダー+ボディ無 のSpamの見逃しがなくなりました。

Reply to #39927×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: POPモードで最後のメッセージが処理されない (2008-11-16 16:29 by nabeken #39936)

原因が特定できませんので、コマンドプロンプトからbsfilter.exe(wでない方)を起動して、いくつかトライアルをお願いできないでしょうか?

--show-process を指定して、言語、判定結果、message-idなどを表示してみる。

--mark-spam-subject を指定する。ヘッダと本文の境界が見つけられないケースでも、subjectヘッダは見つけているかもしれない。

-d -v をつけてパーサの動作を確認する。本文にあるtokenはbodyの行にダンプされているかなど。--auto-updateを指定したままだとデータベースのダンプも表示されてしまうので、それは外しておいた方がいいです。
Reply to #39927

Reply to #39936×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: POPモードで最後のメッセージが処理されない (2008-11-16 19:42 by zxcv3794 #39942)

ありがとうございます。

なべやさんに送ったサンプル 8件と bsfilter.conf を使用して試してみました。

=============================
$ bsfilter.exe --show-process 1.mew
言語、判定結果、message-id とも、私の目視判定と一致しました。 2.mew ~ 8.mew も同じでした。

=============================
$ bsfilter.exe -d -v 1.mew
ざっと見た限り、変な事は無い様です。 少なくとも、全てのメッセージで body tokenizer が実在したので --mark-spam-subject は試していません。

# -v を付けると、STDOUT をパイプにできないんですね。


やっぱり、POPモードでの情報とりが必要でしょうか?
STDERR をファイルにリダイレクトする程度なら多分できると思いますが、てこずってしまうかも知れません。
Reply to #39936

Reply to #39942×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: POPモードで最後のメッセージが処理されない (2008-11-24 23:55 by zxcv3794 #40166)

水口です。 お世話になります。

どうやら、POPサーバーの振舞が関係しそうな気配です。 あるいは、NortonInternetSecurity のメールスキャンも関係しているかも知れません。

まず、その後判ったことを列挙します。

===================================================
1 発生するのは、あるPOPサーバーだけの疑いが濃い。

発生当初は発生POPサーバーに注目していませんでしたが、最近はあるPOPサーバーからの retrieve の最後のメッセージでのみ発生します。

頻度は結構高いです。( 3 retrieve 続けての発生もあり)


===================================================
2 ローカルファイルでは再現しない

発生した時に retrieve したメッセージを全てに対して

$ bsfilter.exe --pipe `ls *.mew | sort -n`

とやると、全てのメッセージに X-Spam-* が挿入されます。 つまり、再現できません。


===================================================
3 問題 POPサーバーの保管メッセージを整理したら発生しなくなった

何かのはずみで retrieve 後の削除がされずに残っていた古いメッセージが数千件あったので削除しました。 その後、問題の発生がありません。


===================================================

というところです。

次の問題発生時に mew から直接POPサーバーにアクセスして同じ retrieve の *Mew debug* を取ろうと思ったのですが、滞留メッセージを整理したら発生しなくなったので、結果として *Mew debug* は取れていません。すみません。

これから調べるべき事があればやりますが、このまま様子見でも良いです。
Reply to #39927

Reply to #40166×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: POPモードで最後のメッセージが処理されない (2008-11-25 01:12 by zxcv3794 #40175)

すみません。 発生しなくなったと言った尻から発生してしまいました。

やはり retrieve 中の最後のメッセージに X-Spam-* が挿入されません。

以下は、mew から直接同じPOPサーバーに接続して retrieve した *Mew debug* の最後のメッセージの部分です。

後、何を調べれば良いでしょう?


/--------------ここから---------------\

<=SEND=>
RETR 87

<RETR>
+OK 17408 octets


<RETR>
Return-Path: ......

<RETR>
......

<RETR>
......

<RETR>
......

<RETR>
......

<RETR>

.


<=SEND=>
QUIT

<QUIT>
+OK IIJ POP3 Server (****.ne.jp) signing off


<POP SENTINEL>
connection broken by remote peer

\--------------ここまで--------------/
Reply to #40166

Reply to #40175×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login