1 :
名無しさん@Emacs :
02/06/15 02:06
2 :
名無しさん@お腹いっぱい。 :02/06/15 02:09
____________________________________________ | キタ━━━━ !!!\ \ ∧ ∧ / わ ,..-―-、 | | \ (゚Д゚∩ / | /:::::::::::::::::l .| |  ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ \ ⊂/ ,ノ / ∩ /::::::::::::::::::::| ,、.| | ∧_∧ \ ̄  ̄ 「 _ |〜 ト  ̄ / -―-、 |⌒ヽ/::::::::::::::::::::::| _/|ノ | |キタ━━━(゚∀゚ )  ̄ ̄ ̄ \ ∪ ヽ l オ / /´Y (´ヽ ,、 l: : : i::::::::::::::::::::::::|-―'´: :丿 | | '/ / \ _  ̄ ̄\ / ∪ \ ./,、 _し' l lヽJ/|ノ \: |∧/l/|ノレ : : : :/ .| | / / . \ __ \ : オ /. Y: : `ー`ー-―'´一': : | /: : : : : : : : : : ::i-‐'′ | | ,.、,,,,/ /、,\ . )..,_ \ || . ォ/ \: : : : : : : : : : : : / /: : : : : : : : : : : | | | ;'・д・(ノ,:、,/ /:,.:::: ::`゛:.:゛:`''':,'.´ \.∧∧∧∧. Y: : : : : : : : :r'´ /: : : : : : : : : : : :| | | '、;: ...: ,:. :.:.:.\ \ _;.;;..; :..‐'゛  ̄  ̄ < 2 >. /: : : : : : : : : :| /: : : : : : : : : : : : | .| | `"゛' ''`゛ `'(___) < G > /:: : : : : : : : : ::| / : : : : : : : : : : : : | | |────────────────<. の E >──────────────────────| |今だ! ゲットオォォォォ!! < 予 T > お前等朕にひれ伏せ!クソ共が! | | ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ < 感 .>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ | | ∩) (´´ (´⌒(´.< !! > /\ /\ /神\/../ .| | ∧∧ノ つ ズザーーーーーッ(´⌒(´⌒/∨∨∨∨\ / /\ \(´∀` )./ .| |⊂(゚Д゚⊂ ノ ∧∧≡≡)ズザーーッ(´./∧∧ ミ _ \ ())ノ__ ○二○二⌒/../ | | ∧∧(゚Д゚⊂⌒`つ∧∧≡./ ( ,,)┌─┴┴‐ \ / /||(二ニ) (___/../ 几l | |. ⊂(゚Д゚⊂⌒`つ≡⊂(゚Д゚⊂/ / つ get │\ γ ⌒ /|V||彡Vミ/⌒_ノ二二ノl0 │ |ズザーーーーッ∧∧(´⌒(´ ⊂(/ 〜′ /´ └─┬┬―┘ \ . l| (◎).|l |((||((゚ )/⌒/||三三三・) || (´| |∧≡≡)⊂(゚Д゚⊂⌒`つス/ ∪ ∪ ││ _ε3 \ゝ__ノ  ̄(___) ̄ ゝ__ノ≡≡(.| |゚⊂⌒`つ∧∧≡(´⌒;;;;;/ ゛゛'゛'゛ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄(´⌒(´..|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
メールの流れ。 fetchmailを使い学校やISPのPOPサーバからメールを取。 ↓ procmailに流す。 ↓ ~/.procmailrcに書いたレシピで振り分け。 ↓ ローカルに保存。 (↓) ローカルにIMAPサーバを立てれば、自分用メールサーバの出来上り。
Subjectに !広告! と入った政府公認SPAMを捨てる方法。 :0 * ?formail -x "Subject:" | nkf -meZ | grep "!\?広告\?!" /dev/null /dev/nullだととりかえしが付かないので適当なディレクトリに 隔離するのもよし。
よくあるSPAMへの対処 :0 * ^Content-Type:.*text/html;.*charset=.*iso-8859-1 .spam/ :0 * ^Content-Type: text/html .spam/ :0 * ^Content-Type: text/plain; charset="GB2312" .spam/ :0 * ^Content-Type: text/html; charset="big5" .spam/ :0 * ^Content-Type: text/plain; charset="GB2312_CHARSET" .spam/ :0 * ^Content-Type: text/html; charset="ks_c_5601-1987" .spam/ :0 * ^Content-Type: text/html; charset="us-ascii" .spam/ :0 * ^Content-Type: multipart/alternative .spam/ :0 * ^Content-Type: text/plain; charset="Windows-1252" .spam/
>>5 !広告!に対応するために、
!\?広告!\?
のところを
[!!]\s*広告\s*[!!]
というのはどうでしょう?
あと、grepで日本語を触らせると微妙におかしいのでjgrepを使うとか。
まあ、もれは手抜きしてこう書いてるけれど。
# Reject valid spam of Japanese Law.
:0
* ^Subject:.*GyRCISo5LTlwIS
{
INCLUDERC=/usr/local/etc/anti_spam/bounce_UBE
}
:0
* ^Subject:.*IRskQjktOXA
{
INCLUDERC=/usr/local/etc/anti_spam/bounce_UBE
}
SPAM の振り分け先を、振り分けた理由が分かるようにある程度分
割するといいよ。procmail の log だけでは分かりにくいときに役
立つ。
一番たくさんたまるのは trash/cn_kr/. ...
(
>>6 同様チャイ語とチョン語を無条件に放り込んでる)
>>8 > SPAM の振り分け先を、振り分けた理由が分かるようにある程度分
> 割するといいよ。procmail の log だけでは分かりにくいときに役
> 立つ。
なるほど。
確かに「このSPAMはどのレシピに弾かれたんだ?」って思う事が
よくあります。もう生きてないレシピを整理するにも役に立ちそうですね。
>>7 > !広告!に対応するために、
つまり!は全角の時の事ですよね?
そんな為にnkfに-Zを付けているのですが、駄目ですか?
>>10 (!|!) を "!" に正規化してから引っ掛けてんだよね。
うん、それでおっけーだと思うよ。
>>12 じゃあ、「"!" を "!" に揃えてから」に言い換えます。
無知でスマソ。どうわかってないのか教えていただけるとありがたく。
>13 間違ってないよ。>12の方が気の毒な人。
>>7 > あと、grepで日本語を触らせると微妙におかしいのでjgrepを使うとか。
mg つかえや、(゚Д゚)ゴルァ
ここは procmail 以外もアリで良いよね? maildrop, mailagent, slocal, TMDA, Scarlet, Sieve(RFC3028) などなど、 エンドユーザ側でのフィルタリングや振り分けモノ諸々ってことで。 で、MH の slocal なんかは、 mh-6.8.4-JP-3.05 から .maildelivery に日本語も書けるようになってて、 Subject !広告! | ? "/usr/local/lib/mh/rcvstore +spam" Subject !広告! | ? "/usr/local/lib/mh/rcvstore +spam" default - | ? /usr/local/lib/mh/rcvstore なんてのも書けちゃうようになってます。 .maildelivery に EUC-JP で書いても、 ISO-2022-JP の "!広告!" をちゃんと引っ掛けてるみたいなので、 そこらへんちゃんと処理してくれてるっぽい。
>>16 > ここは procmail 以外もアリで良いよね?
> maildrop, mailagent, slocal, TMDA, Scarlet, Sieve(RFC3028) などなど、
> エンドユーザ側でのフィルタリングや振り分けモノ諸々ってことで。
入手先や(・∀・)イイ!!ペイジなどをまとめてもらえますか?
>>6 ほど厳密にやらないでこうやればいいことを思いついた。
前後は省略。
* ^Content-Type:.*html
* ^Content-Type:.*B2312
* ^Content-Type:.*big5
* ^Content-Type:.*GB2312_CHARSET
* ^Content-Type:.*ks_c_5601-1987
* ^Content-Type:.*alternative
* ^Content-Type:.*Windows-1252
>>19 それならこんなんでよさそう (動作未検証) 。
:0
* ^Content-Type:.*html
.spam/
:0
* ^Content-Type:.*alternative
.spam/
:0
* ^Content-Type: text/plain
* ^Content-Type:.*(GB2312|big5|ks_c_5601-1987|Windows-1252)
.spam/
いや、GB2312 big5|ks_c_5601-1987 Windows-1252もhtmlの場合があるかな〜って思って。
あ、勘違い。
しかも * ^Content-Type:.*B2312 * ^Content-Type:.*GB2312_CHARSET が変だ。 * ^Content-Type:.*GB2312 にまとめられる。
>>20 これって。
:0
* ^Content-Type:.*(html|alternative|GB2312|big5|ks_c_5601-1987|Windows-1252)
.spam/
じゃ駄目なのかな?
>>24 いや、駄目ってことはないです。それで良いと思います。
media type や charset を一緒くたにするのはちょっと汚いかなー、
と思っただけなので。
26 :
名無しさん@お腹いっぱい。 :02/06/23 18:57
たまにはageるか。 SPAMのX-Mailer:におおいやつだって CSM Caretop Cleansoft DiffondiCool HTMail QuickSender SpireMail Trade-Navigator deboio htmmx jpfree
こういうタイプのSPAMが来たんだけど
>>20 じゃ防げませんでした。
MIMEの中?のContent-Typeはどうやったら見てくれるのでしょうか?
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="= Multipart Boundary 0626021833"
Precedence: bulk
Lines: 1198
This is a multipart MIME message.
--= Multipart Boundary 0626021833
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 7bit
?釜W秤趨萩嬉蝕現周
>>27 試してないけど、こんな感じかなぁ。
# "E" ってのが本文を見るフラグ。でも、本文を grep するのは負荷が高そう。
:0
* ^Content-Type:.*multipart/mixed
{
:0 E
* ^Content-Type:.*(GB2312|big5|ks_c_5601-1987|Windows-1252)
.spam/
}
>28 EやなくてBちゃうん?
俺もそう思う
スマソ。
32 :
名無しさん@お腹いっぱい。 :02/06/29 04:23
33 :
名無しさん@お腹いっぱい。 :02/07/01 19:36
.procmailrc の振り分け設定を書き忘れて ~/Mail/inbox に全部、 流れてしまったメールを再び procmail で振り分ける方法ってありますか?
>>33 もっと良い方法があるかも知れませんが、
一通一通 procmail に入れなおしてやれば良いのでは?
% mkdir temporary
% mv ~/Mail/inbox/* temporary
% cd temporary
% for i in *; do procmail < $i; done
>>34 ありがとうございます。
その方法で上手く振り分け出来ますた。
Subject: [FreeBSD-users-jp 69649] 【海物語グッズ】イベント向き景品満載!【広告】 だってよ。 何考えてSPAM出してんだよ。 * ?formail -x "Subject:" | nkf -meZ | grep "\【?広告\?】" でいいのかな?
>>36 日本語の正規表現の処理がうまくいかないと思われ。
Subject 以外のヘッダフィールドで特徴的なものを探して引っかけた方が良いと思う。
39 :
名無しさん@お腹いっぱい。 :02/07/03 22:34
>>39 ^TO_ の後にスペースがあるのがまずいんじゃ?
>>39 TO_ ってなに?
俺も詳しくないけど↓こんな感じで書くんじゃないの?
* !^(To|Cc|Bcc):.*mail@aaaaa\.com
>>42 なるほど、そういう定義済のがあるわけですか。
man procmailrc したのですが・・・ If the regular expression contains `^TO_' it will be sub- stituted by `(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X- Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)', which should catch all destination specifications containing a specific address. 疑問が・・・(たぶん、自分の英語力と正規表現の無知があると思うのですが) ●最後の (.*[^-a-zA-Z0-9_.])? の存在理由が不明 ●もし、 (.*[^-a-zA-Z0-9_.])? がなければ、前方一致であって、完全一致ではないと思うのですが。。。
>>44 あんた誰だ?
ま、それはともかく、まずは、英語の問題。
「containing」ってあることから、完全一致とか前方一致とかじゃなくて、
「指定したアドレスを *含む*」ルールだ、ということですね。
で、次に、`(.*[^-a-zA-Z0-9_.])?' だけど、これは漏れもよくわからん。
おそらく、大抵のメールアドレスのローカルパートは
[-a-zA-Z0-9_.] から始まるだろうってことで、
それ以外の文字をくっつけてるんじゃないかな。
つまり、bar@domain にマッチさせたい場合に、
foobar@domain がマッチしないようにしているのではなかろうかと。
時に、
>>39 は
>>40 の言ったのを試してみた?
すいません、44の発言者は私、39(質問者)です。 40さんと間違えて書いてしまい。40さんと他の方にご迷惑をおかけしました。 とりいそぎお詫びを。。。
49 :
47(=39=44) :02/07/09 01:28
50 :
名無しさん@お腹いっぱい。 :02/07/13 19:21
age
51 :
名無しさん@お腹いっぱい。 :02/07/16 01:52
age
52 :
名無しさん@お腹いっぱい。 :02/07/17 02:03
age
53 :
名無しさん@お腹いっぱい。 :02/07/17 03:24
################################################ #「メルマガ > コラム」用アカウントへ配送 #----------------------------------------------- :0 * ^X-Mag2Id: ID (0000027118|0000001092|0000012556) ! magclmn っていうように、まぐまぐのIDによって、転送しているのですが、このが増えてくると管理が大変です。 なので、このIDを別ファイルで持たせる方法はないでしょうか?
54 :
名無しさん@お腹いっぱい。 :02/07/17 23:08
age
55 :
名無しさん@お腹いっぱい。 :02/07/18 01:31
age
57 :
名無しさん@お腹いっぱい。 :02/07/18 04:57
>>53 ################################################
#「メルマガ > コラム」用アカウントへ配送
#-----------------------------------------------
:0
* ? grep -q -f mag-patterns-file
! magclmn
んで、mag-patterns-file↓
^X-Mag2Id: ID 0000027118
^X-Mag2Id: ID 0000001092
^X-Mag2Id: ID 0000012556
:
こんな感じ? 実際には試してないけど。
あと、固定文字列にして fgrep で検索かけたほうが効率いいかも。
>>57 たんのが動くと仮定して、まぐまぐ以外で無駄に grep が起動されるのを防いでみる。
:0
* ^X-Mag2Id: ID
{
:0
* ? grep -q -f mag-patterns-file
! magclmn
}
Thanks
>>58 じゃあ、grepを起動しないバージョン。
:0
* ^X-Mag2Id: ID
{
INCLUDERC=procmagrc
:0
* $MAGFOUND ?? .
! magclmn
}
----- procmagrc -----
MAGFOUND=""
:0
* 0000027118
{ MAGFOUND=1 }
:0E
* 0000001092
{ MAGFOUND=1 }
:0E
* 0000012556
{ MAGFOUND=1 }
---------------------
>>59 俺、変数とか使いこなせてないからなぁ。参考になります。
ところで、俺の読んでるまぐまぐのメルマガの X-Mag2Id: には
"ID" って文字列は付かないみたいなんだけど、
付くのと付かないのがあるのかな?
61 :
名無しさん@お腹いっぱい。 :02/07/19 20:41
こんなのも弾きたいんだけど、どうすればいいんだろう? This is a multi-part message in MIME format. ------=_NextPart_000_0228_01C1D5AC.28CB7C40 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 7bit
>>63 た、確かに・・・
どうしたらいいかちょっと思いつかないや。面倒だなぁ。
めんどうだけど、これしか無いかな? :0 * ^Content-Type:.*multipart/mixed { :0 B * ^Content-Type: * charset=.*(GB2312|big5|ks_c_5601-1987|Windows-1252) .spam/ }
韓国や中国のお友達が出来たらどうしよう…。
お友達の From だけ通すようにすればいいのでは。
68 :
名無しさん@お腹いっぱい。 :02/07/19 23:57
>>61 こういうのは、こう書けばOK。
:0B
* Content-Type: text/plain;^charset="gb2312"^Content-Transfer-Encoding: 7bit
正規表現のなかに ^ があると、「ここは改行だよ〜」って意味になる。
だから、これで複数行のマッチが可能。
^ の代りに $ を使っても同じ。
ちなみに、ヘッダの場合は、一つのフィールドが複数行に渡ってても、
一行に繋がってると思って正規表現かいてもOK。
procmailが内部的に処理してくれてるので。
改行って言うか、行頭を意味してるからってことじゃ……
いや、行頭じゃなくて改行っす。
>>69 ↓ procmailrc(5)
The following token meanings are special procmail extensions:
^ or $ Match a newline (for multiline matches).
つまり(普通の正規表現で言う)行頭の意味に加えて、
改行にマッチするというprocmail独自の拡張構文なわけで‥。
俺の知らない egrep の構文があるのかと思いマスタ(W
すいません、 :0 * ? grep -q -f magclmn-list.txt ! magclmn としても、 ログには、 procmail: Executing "grep,-q,-f,magclmn-list.txt" grep: magclmn-list.txt: No such file or directory procmail: Program failure (2) of "grep" procmail: No match on "grep -q -f magclmn-list.txt" と言われてしまいます。 .procmarlrcと同じディレクトリに、ちゃんとmagclmn-list.txtをおいているのですが・・・ なぜだかおわかりにならないでしょうか?
>72 (1)/bin/pwdを実行してみる (2)手を抜かずにfull pathで書く
なるほど、procmailは呼ばれてるだけですものね。。。 ところで、恐縮ですが、最後に1点だけ。。。 (1)/bin/pwdを実行してみる とは、具体的にはどうすればいいのでしょう? procmailrcの中では、コマンド実行できないですよね・・・
( ゚д゚)ポカーン
76 :
名無しさん@お腹いっぱい。 :02/07/20 12:01
> ところで、恐縮ですが、最後に1点だけ。。。 > (1)/bin/pwdを実行してみる > とは、具体的にはどうすればいいのでしょう? > procmailrcの中では、コマンド実行できないですよね・・・ できるよ。実際、grepコマンド起動してんじゃん? あとは :0c | pwd>/tmp/pwdresult な〜んてやってみるとか PWDDIR=`pwd` :0c | echo $PWDDIR>/tmp/pwdresult とか。 多分MAILDIR変数からの相対パスで書けばいんじゃない? ...... よくわかんなかったら、めんどくさいけどフルパスで書くのが 安全確実だな。
>>76 なるほど。おれって頭わりー。
ありがとうございます。
78 :
名無しさん@お腹いっぱい。 :02/07/20 14:59
.procmailrc の書式は変態的だ
だがそれがいい。
>>79 ソースのコーディングスタイルの変態さに比べたら大したことない。
:0 の0って一体なんなんだー
85 :
名無しさん@お腹いっぱい。 :02/07/21 00:05
junkfilterを最新のものにしたら99%ぐらいスパムが遮断されるようになった。 2002年5月20日付けの分だ。 それまでは昨年の分を使っていたのだが大違いだ。 最新のを使ってないやつは、だまされたと思って入れ替えて皆。
86 :
名無しさん@お腹いっぱい。 :02/07/21 21:45
>>81 なんか人間が書いたというより、トランスレータの出力みたいなソースだね。
87 :
名無しさん@お腹いっぱい。 :02/07/22 10:39
ところでみなさん .procmailrc のチェックはどのようにしていますか? procmail にはデバッグモードのようなものがないのですが、いちいち メールを食わせてやるしかないのでしょうか?
VERBOSE=on
いやー、テスト用のメールを食わせてみてルールが違っていたら、 間違って移動されたメールを削除したするのが面倒だなと思ったんで、 実際にフォルダに移したりとかせずに、「こんな動作になりますよ」と いうようなメッセージだけ出す事が出来たら、 典型的な例を作成してそれを食わせつつチェックするのが楽になると 思ったんですが。
:0 * ^From: hoge | echo refiling to hogefolder
91 :
名無しさん@お腹いっぱい。 :02/07/23 18:07
>>89 procmail < test-mail > test-output 2>&1
If you're using a csh variant, the command line is:
procmail < test-mail >& test-output
You can then look at the test-output file to see how procmail
handled the test e-mail. The sample e-mail you put in
'test-mail' should be the raw source of the message including
all headers.
92 :
名無しさん@お腹いっぱい。 :02/07/26 15:24
広告と書いてないスパムを日本産業協会に送ろうと思うんだが。
サブジェクトに広告が入っているのを取り除いた後、junkfilter
にかけて、meiwaku.txtを添付してsendmailで送ろうと思います。これでヨカですか。
# Call junkfilter
INCLUDERC=$JFDIR/junkfilter
# Take action if junkfilter caught a junkmail.
:0
* JFEXP ?? .
{
:0 f
* JFSTATUS ?? 1
:0 E :
|(/usr/bin/formail \
-A"X-loop: junk to nissankyo "| \
/usr/bin/gawk '{print }\
/^/ && !HEADER \
{ system("/bin/cat /home/hiroaki/.procmail/meiwaku.txt"); \
print"--" ;\
HEADER=1 }' ) |\
/usr/bin/sendmail -f おれのアドレス
[email protected]
>>92 毛唐やチョンからのメールを日産協に送っても意味ないと思われ。
94 :
名無しさん@お腹いっぱい。 :02/07/26 22:13
意味ないかもしれないが、日産協の下記情報提供以来には反してない是。 消費者の方が表示義務に違反していると思われるメールを受け取られた場 合にも、「受信日時」「送信元アドレス」を本文の冒頭に記載して、上記アド レスにメールを転送し、情報提供にご協力ください。
>>94 日産協の手出しのできないspamまで転送してやると、ほかの悪質なspammerについての
情報提供が埋もれてしまって、あちらの作業効率が悪化する。なんでもかんでも
転送するのは嫌がらせと変わらんと思うぞ。
# ほんとに作業してるのかどうかは謎だが。
>>95 日産協が手出しできるかどうか考慮してあげるのも好意として必要かもしれないが。
消費者として困っているのは発信がどこかには関わりないよ。
また、ふぇーくで送ってくるものが国内で発信されているのかどうかまで調べ
てから送れとも言われてないし。
国際的な取り組みも必要だと考えられている時期に、現状を認識してもらって
おくことも大事ではないだろうか。国際会議に持っていくための資料の作成協
力という解釈はできないだろうか。
unix系を使っている人はjunkmailとprocmailで本当に助かるよ。
アジアの一部の国がスパムで国際的に問題になっているようだが。
http://www.wired.com/news/politics/0,1283,50455,00.html cat junkfilter/domains/general | grep co.kr と co.jp
やってみたら世界でスパム出している国が日本ではないようで安心した。
>>92 からのメールが
:0
* ^From: hiroaki
demupa/
とされてしまう罠
>>96 junkfilter って良く知らないのだけど、
それ自体が anti spam のノウハウの塊みたいなもんなんでしょ?
そしたら、junkfilter に引っかかったメールを転送するなんてことせずに、
junkfilter のアルゴリズムを日産協に教えてあげれば済む話なんじゃない?
あなたのやろうとしてるのは、
anti virus に引っかかったメールを anti virus 開発元に送るようなもので、
あんまり意味の無いことだと思うよ。
むしろ、送るべきなのは、
junkfilter でも引っかけられないような悪質な SPAM メールの方なんじゃない?
92=94=96って、単発のポートスキャンとかnimdaのアクセスとかを いちいちメールでクレームするタイプですか?
どっちかというと
>>101 の方が
惡のspamの洪水から日産協を守ろうとする正義の人に見える
今さらだがprocmailのソース読んでみた。 「なんじゃこりゃーっ!」 キモい……。
104 :
名無しさん@お腹いっぱい。 :02/08/01 11:49
spamassassinの話もしようぜ
"spamassassin" って、読みづらい。
106 :
名無しさん@お腹いっぱい。 :02/08/01 12:39
>>103 procmailのソースがメールされてきたらspam扱いにする
spamassassinの設定
body PROCMAIL_IF /^\{ if\(/
body PROCMAIL_CLAUSE /\s{ (case|int|char)/
body PROCMAIL_LOGFUNC /\b[ne]log\(/
describe PROCMAIL_IF procmail-like if notation
describe PROCMAIL_CLAUSE procmail-like clause notation
describe PROCMAIL_LOGFUNC procmail logging function here
107 :
名無しさん@お腹いっぱい。 :02/08/05 09:42
linux-usersで実験的にSpamAssassionが導入されたようですね。 MLで配送されるメールにこんなヘッダが付くようになりました。 これは、僕はどう利用すれば幸せになるのでしょうか? X-Spam-Status: Yes, hits=15.8 required=10.0 tests=NO_REAL_NAME,PORN_11,PORN_12,PORN_10,CLICK_BELOW,EXCUSE_3, EXCUSE_15,PORN_4,REMOVE_PAGE,SLIGHTLY_UNSAFE_JAVASCRIPT, CLICK_HERE_LINK,FREQ_SPAM_PHRASE,PORN_3,CTYPE_JUST_HTML version=2.31 X-Spam-Flag: YES X-Spam-Level: *************** X-Spam-Checker-Version: SpamAssassin 2.31 (devel $Id: SpamAssassin.pm,v 1.94.2.2 2002/06/20 17:20:29 hughescr Exp $) X-Spam-Prev-Content-Type: text/html; charset=us-ascii X-Spam-Report: 15.8 hits, 10 required; * 0.5 -- From: does not include a real name * 1.2 -- BODY: Uses words and phrases which indicate porn (11) * 0.7 -- BODY: Uses words and phrases which indicate porn (12) * 0.6 -- BODY: Uses words and phrases which indicate porn (10) * 1.5 -- BODY: Asks you to click below * 1.1 -- BODY: Claims you can be removed from the list * 0.5 -- BODY: Claims to be legitimate email * 1.4 -- URI: Uses words and phrases which indicate porn (4) * 2.2 -- URI: URL of page called "remove" * 0.7 -- BODY: JavaScript code which can easily be executed * 0.8 -- BODY: Tells you to click on a URL * 2.4 -- Contains phrases frequently found in spam [score: 10, hits: click here, from our, here] [removed, removed from, this mail] * 0.5 -- Uses words and phrases which indicate porn (3) * 1.7 -- HTML-only mail, with no text version
>>107 > X-Spam-Level: ***************
これを使ってどうにかする、じゃないかなぁ。
>>9 >もう生きてないレシピを整理するにも役に立ちそうですね。
どんどんたまっていくよ…
教えてクンで恐縮なんですが、ある条件でメールを削除したとき 「メール削除したよ」というメールを受取人に送るにはどういう ように書けばよろしいのでしょうか? SHELL=/bin/sh PATH=/usr/local/bin:/usr/bin VERBOSE=ON :0: * ^Subject: \/.* * ? echo "$MATCH" | nkf -me | mg "広告" /dev/null ここまでで、削除はできるようになったんだけど...
:0:を :0 c:にして次に流してあげればいいのね。ごめん、試していて分かった。
spamassassinって楽しいね。 spamが来るのが待ちどうしくなったyo!
113 :
名無しさん@Emacs :02/08/22 21:58
procmailで質問。 procmailが起動されるたびにこんなのがsyslogに出ます。 ippl: ICMP message type destination unreachable - bad port from myhostname [127.0.0.1] (127.0.0.1->127.0.0.1) procmailが出してると思えないのですが、外すと出なくなります。 設定はこんだけです。 $ cat .qmail #./Maildir/ | preline /usr/bin/procmail $ cat .procmailrc MAILDIR=$HOME/Maildir/ DEFAULT=$MAILDIR LOGFILE=$MAILDIR/procmail.log :0 * ^X-Spam-Flag: YES $HOME/Maildir/.Trash/ どなたかこの原因わかりませんか?
うーん。原因がつかめず、
結局maildropに移行してしまいますた。
>>113 のようなlogは残らなくなりました。
Linux-usersに続いてemacs-w3mもSpamAssassinを導入。
116 :
名無しさん@お腹いっぱい。 :02/08/29 19:17
spamassassinをMTAに統合した場合、MTAでspamを落とすってどうやるの? 今は、MDAで落してるんだけど。
117 :
名無しさん@お腹いっぱい。 :02/08/31 15:14
みなさん、たとえば procmail などでいろいろレシピを追加していくと、 もう生きていない(最近ぜんぜんはたらいていない)レシピがたまってきますよね? どうやって整理されてますか?
-> cat ~/.procmailrc |wc -l
267
>>117 何もやってないな。
500とか越えたら考えるつもり。
120 :
名無しさん@お腹いっぱい。 :02/09/07 04:37
procmailrcの中に :0 * /usr/local/bin/hogehoge $MAILDIR/.spam/ みたいに書くだけで、自分はレシピを書くことなく SPAM を落としてくれるホストないかな?
ホスト じゃなくて ソフト。 しかも age てしまった。
>>120 そんなんあったら procmail 要らんがな。
>>122 いや、別に procmail は SPAM を落とす為だけのソフトではないでしょう。
>>120 そういうのISP側のサービスとして欲しいよね
すでにあることはあるけど、会員がprocmailrcライな
フィルタ設定書いておけるサービスが欲しい
ISPの会員webページ(当然認証・暗号化あり)でフィルタの
設定とかできてさ、ちゃんと通ったものは通常のメールサ
ーバアドレスで取れて、落ちたものは別のメールサーバア
ドレスで取れるの
で、落ちたものは有効期間内に取らないと自動的に消され
るの
んで、これはあってもなくてもいいけど、落ちたメールは
会員webページで読むこともできて、必要なメールは通常
のメールサーバへ送りなおす(敗者復活)こともできるの
ほしいなーこういうの
既存の技術・ソフトでじゅうぶん実現可能だと思うし
>>125 それでいいですやん(w
月額200演歌ー漏れも入ろうかな
だけどメールアドレス変えたくなひ…
全部be.toへfowardしてbe.toからgetすりゃいいのかな?
>>127 APOP に IMAP も使えて 50MBなんで便利っすよ。
さすがに IMAP 使いだすと 50MB じゃ足らないんで
fetchmail して procmail して Courier-IMAP を local に立ててますけど。
>>126 Razor 入れてみた。
こういう時に限って SPAM が来ない。
適当に Subject に AD や SEX って入れてもひっかからん。
SPAM と判定する基準は何だ?
>>129 Razorが何をやっているソフトウェアだか理解してからご利用ください。
あなたに必要なのはRazorじゃなくてSpamAssassinっぽいかほり。
え、そうなの。
>>126 のようにやれば SPAM と判定したメールのヘッダに
"X-Razor-Warning: SPAM." を追加してくれるのかと思ってた。
(´・ω・`)
133 :
名無しさん@お腹いっぱい。 :02/09/07 15:55
SpamProbe
Fast, intelligent, automatic spam detector using Bayesian analysis of word
counts in spam and non-spam email. Intended for use with procmail to
filter inbound email. No manual rule creation required.
WWW:
http://sourceforge.net/projects/spamprobe/ 使い始めてから間がないけど結構よさげ。使う前にSPAMとそうでないメイ
ルのサンプルを食わせる必要があるけど、それぞれ100通ずつくらいで十分。
現在、SpamAssassinと並行して使用しているが、今のところ成績は互角か
それ以上(1通だけSAがシロと判定したSPAMを検出)。
>>133 > 現在、SpamAssassinと並行して使用しているが、今のところ成績は互角か
defaultの状態で比べたってこと?
>>134 設定はそれぞれ以下の通り:
SP: デフォルト。予めSPAMとそうでないメイル(日本語と英語)を100通ず
つDBに登録。
SA: デフォルトでは日本語に全く対応していないので、あらかじめ日本
語のメイルはSAに通さない(無条件で非SPAMとする)ように設定。さら
に、~/.spamassassin にて下記の設定を追加。
score RCVD_IN_RBL 10
score RCVD_IN_RSS 1
score RCVD_IN_DUL 1
SPの方はリソースもあまり食わないから並行してつかって試して味噌
>>133 よさげですね。昨日 ports に入ったので目を付けていたところでした。
ところがワケワカラン。
機能するようになるまでの簡単な作業の流を書いてもらえませんか?
>>136 ソースファイル中の README.txt に書いてある通りにやっただけ
だけど、一応かいつまんで。。。
1. インストール
2. $ mkdir ~/.spamprobe
3. 過去のメイルからSPAMと非SPAMを分類して適当数用意する
(以下、それぞれ ~/Mail/spam および ~/Mail/good に置くと
仮定)
4. $ spamprobe spam ~/Mail/good/*
5. $ spamprobe good ~/Mail/spam/*
6. ~/.procmail に設定を追加してフィルタリングを開始
(続く)
>>137 続き
~/.procmailc の設定はマニュアル通りでいいと思うけど、個人的には
テスト用(SpamAssassinとの比較用)に下記の行を一番上に置いて
完全に既存のフィルタと並行して使用している
procmailrc は個人的には下記の設定を一番上に置いて
既存のフィルタと完全に並行して使用している
FORMAIL=/usr/local/bin/formail
SPAMPROBE=/usr/local/bin/spamprobe
# SpamProbe rule.
:0 c
{
# Generate a score for the message.
SCORE=`${SPAMPROBE} receive`
# Add a X-SpamProbe header to the message.
:0 fhW
| ${FORMAIL} -I "X-SpamProbe: $SCORE"
:0h
* ^X-SpamProbe: SPAM
spam/.
:0 E
good/.
}
...
>>137 フォルダ名を間違った! スマソ。下記のように訂正
4. $ spamprobe good ~/Mail/good/*
5. $ spamprobe spam ~/Mail/spam/*
ありがとう。早速サンプルから db を作ってみました。 早く Spam が来ないかな〜。
>>140 本物が来るまではdbに入れなかったメイルで
$ spamprobe score <testmail
とかして遊んでいるのが吉(w
Spam キタ━━━━━━(゚∀゚)━━━━━━ !!!!! すごい精度ですね。もう手でレシピ書かなくいいかも。
永久に ~/.spamprobe が増えつづけるのだろうか…。
144 :
名無しさん@お腹いっぱい。 :02/09/09 16:24
^メルマガを、すべて同じメアドで登録して、 その内容によって、ニュース用メルマガメアド、コラム用メルマガメアド・・・という風に振りわけしてます。 (↓こんなかんじで) * ? grep -q -f /usr/home/magread/magnews-list.txt ! magnews ------------------------------------------------------------ で、magnews-list.txtの書き方なんですが、 ^X-Mag2Id: 0000001916 ^X-Mag2Id: 0000000122 ^X-Mag2Id: 0000005757 ^X-Mag2Id: 0000027118 と書いたり、 ^X-Mag2Id: (0000000036|0000010287|0000010287|0000012016|0000019037) と書いたりしてます。 一応それで運用できてるのですが、 今後、Mag2IDをmagnews-list.txt に、500個くらいぶちこむ予定です。 ------------------------------------------------------------ で、質問させてください。。 ●procmailrcはこのままでもだいじょぶでしょか? ●magnews-list.txtは、上記のどちらの方がふさわしいでしょうか? ※サーバ負荷を心配しているのですが、他にもなんか問題がありうるのかなぁ・・・
145 :
名無しさん@お腹いっぱい。 :02/09/10 03:36
procmailについてなのですが私はmhonarcと一緒に使っています
[email protected] が届くと
/home/user/Maildir/m1/. に保存されるのはいいのですが
何故か実行されるのが| mhonarc -add -rcfile ./maga1 -outdir /html/maga1 /html/maga1/*
になってしまいます。振り分けた後に実行したいのですがどのように書けば正常に動くのでしょうか?
____________
:0
* [Tt]o:
[email protected] /home/user/Maildir/maga1/.
| mhonarc -add -rcfile ./maga1 -outdir /html/maga1 /html/maga1/*
:0
* [Tt]o:
[email protected] /home/user/Maildir/maga2/.
| mhonarc -add -rcfile ./maga2 -outdir /html/maga2 /html/maga2/*
:0
* [Tt]o:
[email protected] /home/user/Maildir/m1/.
| mhonarc -add -rcfile ./m1 -outdir /html/m1 /html/m1/*
:0
* .* .*
/dev/null
>>145 「何故か実行される」ってあんた、勘でレシピ書くなよ。マニュアル嫁。
読んだつもりだったけどいまいち理解できてなかった。
こんな感じでいけるかな。とりあえずやってみます。すんまそ
* [Tt]o:
[email protected] {
:0 c
/home/user/Maildir/m1/.
:0 w
| cd $MAILDIR && (mhonarc -add -rcfile ./m1 -outdir /html/m1 /html/m1/*
}
>>147 とりあえず man procmailex しる!
>>143 その後、dbファイルがそれぞれ5MBくらいになったらprocmailが
> Out of memory as I tried to allocate 134582884 bytes
とかいうメッセージを/var/log/maillogに吐いてspamprobeを起動
しなくなった(鬱
という訳で、「SPはリソースをあまり食わない」は嘘ですた(w
ん? % ll ~/.spamprobe total 17 -rw------- 1 mona- wheel 13422592 Sep 13 09:48 goodwords.db -rw------- 1 mona- wheel 0 Sep 7 20:17 lock -rw------- 1 mona- wheel 3993600 Sep 13 09:48 spamwords.db 13MB ぐらいだけど今のところ大丈夫だな。 50MB の間違いかな?
よく調べてみたら
>>149 が嘘だった。スマソ
Out of memory のメッセージは別の原因によるものだった。
本当は、ulimit -f 10240 していたので、
> dbファイルがそれぞれ5MBくらいになったら
起動しなくなったというオチ。
それにしてもちゃんとエラーメッセージくらい吐けよゴルァ! (逆ギレ)
SpamAssassion は日本語対応じゃないよね.使ってるけどよくワカラン(鬱 SpamProbe は日本語な SPAM も弾いてくれるの??
>>153 ok_languages
ok_locales
は?
>>154 あ,そんな設定があるのね.ドキュメント読め!>ヲレ
~/.spamassassin/user_prefs に
ok_locales ja en
ok_languages ja en
を追加でいーんかな.これで暫く様子見るです.
っつーか emacs の dabbrev 使ったら綴り間違えてんじゃん
>>153 スパムアサションってなんだよ(死
>>155 それだけでは日本語のメイルがほとんどUPPERCASE系の
判定で黒となる可能性高し。
いずれにしろSAは日本語のSPAMを検出してくれる訳では
ないので、何らかの方法で日本語のメイルはSAを通さない
ようにするのが吉。
ちなみにSpamProbeの方はデフォルトでも日本語のメイルを
ことごとくSPAMと判定するようなことはないが、実質的に2バ
イト文字の部分は判定に使われていないので、ヨーロッパ系
言語と比較して精度はかなり落ちる感じ。
うーん,実は ok_locales とかの設定をする前から全部 SA 通してんだけど, 日本語 SPAM を見逃すことはあっても,普通の日本語メールを黒判定されるこ とは無かった.ok_locales を加えた今も大丈夫みたい.取り敢えずこのまま 様子見るす. SP の件はりょーかい.thanx.
>>157 スマソ
漏れは FreeBSD の ports に入ってる古いバージョン
(2.31)を使っているので、その後に日本語対応がされた
のかな。
>>158 をー,うかいさめのルールなのね,あんがと.これを default の
required_hits(5) で運用開始しますた.一気にガードが固まった気がする
:-)
>>159 ウチのは更に古い 2.2 です.Debian なのでどこかで何かやってくれてるのか
もしれませんが.ま,結果オーライってことで.
最新は 2.41 ですか.今初めて公式ページ見たけどなんかほのぼのしたバナー
だな(w
何気に良スレ。
何が訊きたいのかさっぱりわかりません。
>>162 何が聞きたいのか俺もさっぱりなんだが、
負荷が気になるなら実際に 500個書いて procmail にメール突っ込んで
試してみりゃいいじゃん。
ていうか、最初から○○用メアドってやつの方で登録しときゃいいじゃん。
166 :
名無しさん@お腹いっぱい。 :02/09/17 15:02
SpamProbe 0.7a age DBファイルの形式が変わったので、0.6からアップグレードする 場合は要注意
>>166 今日ちょうどgoodwords.dbが51,200,000bytesになったんだけど、
こうなるといきなり動かなくなるね。空のX-SpamProbe:がついてくる。
これが直ったのかな?
>>167 GDBMからBerkley DBへの移行がなされたので、そこら辺は
各DBの仕様に依存するものと思われ。
それにしても50MBはデカイね。
うん、直ってる。えらく省スペースになったっていうか今までが喰いすぎか。 -rw------- 1 ne-yo ne-yo 51200000 Sep 17 19:20 goodwords.db -rw------- 1 ne-yo ne-yo 28491776 Sep 17 19:21 sp_words -rw------- 1 ne-yo ne-yo 3678208 Sep 17 19:20 spamwords.db
>>168 9日の午前4時から運用を始めて、17日午前4時、だいたい丸8日で50MBになったみたい。
btreeマンセー。
なんかうちは sp_woeds の分だけ容量が増えたな〜。 before -rw------- 1 mona- wheel 19943424 Sep 18 05:58 goodwords.db -rw------- 1 mona- wheel 0 Sep 7 20:17 lock -rw------- 1 mona- wheel 4640768 Sep 18 05:58 spamwords.db % spamprobe-export_0.6 | spamprobe import after (巨匠のリフォーム後) -rw------- 1 mona- wheel 19943424 Sep 18 06:20 goodwords.db -rw------- 1 mona- wheel 0 Sep 7 20:17 lock -rw------- 1 mona- wheel 13762560 Sep 18 06:21 sp_words -rw------- 1 mona- wheel 4640768 Sep 18 06:21 spamwords.db
私は数日前から spamprobe-0.7a を利用し始めたのですが、 sp_words.{dir,pag} しか存在しないですね。これらだけのファイルで やりくりするようになったのでしょうかね。 しかし、spam が来るのが楽しみになるとは(w
goodwords.db と spamwords.db は御祓箱ってことか。 そういえば、0.7a にしてからずっと更新されていない。
>>171 spamprobe import した後は *.db は不要だと思われ。
175 :
名無しさん@お腹いっぱい。 :02/09/18 15:33
>>177 送信カットは無理でしょ。
一旦は送信されないかぎり、procmailではどうしようもないわけだから。
179 :
名無しさん@お腹いっぱい。 :02/09/18 15:41
送信を防ぐには相手側のメール鯖かPCに侵入しない限り不可能だろ。
てゆーか、同類からのメールを防ぐ必要があるのかYO!
厨房メールのフィルターだろ? 普通にできると思うが。 ある意味、SPAMより容易だと思われ。
Web製作板住人の痛いカキコを防ぐ方法を教えてください
というよりも、この
>>175 は、「送信」は防げないと揚げ足をとりたかったのだろう(w
185 :
名無しさん@お腹いっぱい。 :02/09/18 17:24
>>182 フィルターは普通にできるが「来るものは止められない」に対し「止められる」と発言して
「【不特定の誰かからのメール送信】を未然に防げるわけないだろ」に対し
「こっちコイよ( ´,_ゝ`) オマエの無知さを教えてやるよ」だからね。
素でprocmailの根本を勘違いしてたのでは?
>>184 の言うように最初は「送信」に気付かずにいるだけかと思ったら
よく読んでみたら↑みたいなやりとりだから、気付かないはずないわな。
>>185 まあこれは明らかに意識的に「フィルタリング以前の問題だぞ」って強調した書き込みだよね
それで「お前の無知さを云々」だからやっぱり勘違いしてるっぽい
163 名前:Name_Not_Found 投稿日:02/09/17 21:20 ID:???
>>162 真性のアフォか?
不特定の誰かからの厨メールの送信をどうやって防ぐっつーんだよ。
25世紀になってもできねーよ。
> 25世紀になってもできねーよ。 ワラタ なんかおもろい
こっちに誘導しといて、自分の無知さを晒されるとはアホだのう
自演の臭いプンプンするので、反応するの気後れするが、、、 sendmailやProcmailで、エラーメールを返してやるだけで、 大抵のくだらんメールは来なくなる。ようは、使い方次第だが。
>>189 禿同。 兎に角、鰓メルをuser unknown なんかで返すと結構効果的なんだよなー。
漏れもスパムや五月蝿いメルは、sendmailかprocmailで切ってるなー。
どうやってフィルタリングすんだよ。
192 :
名無しさん@お腹いっぱい。 :02/09/19 00:11
age
>>189 from Mail Delivery Subsystem 、Returned mail してやれば、
以降、送信の抑制になるってこと。
結局この騒動って誰かが「送信を未然に防ぐことができる」って言っちゃったわけ? そりゃー無理だわね。既出のとおり見かけの上でならできるけどね。
厨房からメールにprocmailで防げるか?に読めたけど。 MTAの設定とprocmailで、殆ど対応可能と思うが。
つまらん。言葉尻を取って「未然に」とか付けてるように見える。 お家へ帰ってやってくれ(w
はいそれから〜
spamprobe dump | sort -k 1 -n -r を眺めれみると、なんでこれで判定できるのか不思議〜。 きっとそこには僕の知らない法則があるのだと思った。(by 某助教授)
_,..:―--、_ ,r''":::::::::::::::/、::`ヽ、 ,r":::::::::::::;;;;:::!'゙ヾ:;;:::::::::ヽ ,i":::::::;;r-''"" ヾ::;::::::i i::::::;'" ,,,::;;;;、_ヾ:::::| !;::::l ,-'''""`‐;-i'",,,,,、_`i‐!::::! ヾ::l-! '""` ノ ヽ、 _,.! ゙ゞ! ヾ! `ー‐‐' ヽ ̄ l/ ぜんぶ `i. ,:' _`__"__, ノ ,! プラズマで説明できます ! ``'、'_'_',.'ノゝ ,r' `>、 //::ヽ..,__ _,,-―' ̄/:::i 、`ー'-'''//:::::::::|:::::::::`‐..、__ ,r'":::::::::::::::/:::::::/i ` 、,r''" /::::::::::::|::::::::::::::::::::::::`,ヽ /::i::::::::::::::/::::::::/:::i /"ヽ /ヽ:::::::::::|::::::::::::::::/:::::::::: /::::i::::::::::::ヽ::::/:::::::i、/ヾ `i /::::ヽ::::::::;!::::::::::::/::::::::::::::::
紳士グループからのメールは弾けなかったな
mew-dist に来てたな(w
>>203 [mew-dist 21644] =?GB2312?B?x7HU2r/Nu6co08rWtzPS2jLHp83yo6k=?=
これ?
snap-users@kameにすごいのが来ました。 SpamAssassinの採点は14.1でそれほど高くないのですが、 FREQ_SPAM_PHRASEが80行もあるというまさに理想的なMLM。 画面中がSpamAssassin resultsで埋め尽されてビビりました。
sage
みんな巨大化してる? うちは -rw------- 1 mona- wheel 29442048 Oct 1 09:20 sp_words だよ。fetchmail が動く度にガリガリいうようになった気がする。
以前のシェイプアップからまた10日くらいで50MB超えました。 ちゃんと動いているのかよくわかりません。 -rw------- 1 ne-yo ne-yo 51511296 Oct 1 10:10 sp_words 専用randiskを確保したい感じ。
うちでは 25MB ぐらいですかね。spam 率は 4〜5% ぐらいの模様。
212 :
名無しさん@カラアゲうまうま :02/10/01 22:40
procmail って安全なの
http://qmail.jp/ ではぼろくそに書かれているけど。
心配なので私は .qmail に ./Maildir/ と書いています。
漏れは40MBくらい。 この程度のディスク消費なら問題ないね。
>>212 逝ってる意味もさっぱりわからんのだが、どこでぼろくそに書かれているの?
>>215 うむー、なるほど。
でもその文脈だと、ぼろくその対象はきっとprocmailじゃなくてsendmailのような気が。
というか、
>>212 が「.qmailに./Maildir/と書」く設定で不満が
無ければそれ以上詮索することもないんじゃないの。
>>217 自動で振り分けをしたいので、procmail を使ってみようと思うんだけど、
信頼していいのかどうか
>>218 俺はourier-maildrop使ってるよ。
>>218 心配しなくていいよ。お前よりはずっと信頼できる。
>>219 オウリャー・メイルドロップで物凄い勢いでMaildirに配送するスレはここですか?
>>218 procmailを使うぐらいならわざわざqmail使う意味ねーだろ。
(´∀`) いくら Subject に 未承諾広告※ の入ったのを 食わせても一向に Score が上がんないんだけどどうしてる?
>>223 日本語のメールで動作させるにはChasenとかKakasiとかでわかち書きしてから食わせないといけない罠。
あきらかにUCEとわかるものはfilterに喰わせる前に落としてます。重いですし。 spamprobeは日本語の単語の区切りを知らないので そのへん期待しすぎてもかわいそうかも。
>>222 わざわざ、qmail 使ってません。
sendmail がむずかしすぎるので、使っているだけどす。
>>226 だったらprocmailを信頼するとかどーとか関係ないじゃん。
>>225 でも、逆に日本語の単語の区切りを認識させればばっちり対応可能
なんだよね。要望上げておくといいかも。ただ、日本人のユーザはこ
この住人を含めて10人くらいかな(w
ちなみに、漏れのところに「未承諾広告※」メイルはいままで1通しか
来たことがないんだけど、どうすれば沢山来るようになるのかな? (w
>>218 具体的にどういう問題を懸念しているのか書いてもらわないと
話にならん。
ちなみに、qmail のパッケージに procmail を MDA として使用
する起動スクリプトが含まれていることは認識しているのか?
>>229 > 具体的にどういう問題を懸念しているのか書いてもらわないと
> 話にならん。
メイルの紛失
> ちなみに、qmail のパッケージに procmail を MDA として使用
> する起動スクリプトが含まれていることは認識しているのか?
/var/qmail/boot/proc かな? :)
>>230 > メイルの紛失
それは期待できんな。
> /var/qmail/boot/proc かな? :)
オイオイ、、。
>>231 > > /var/qmail/boot/proc かな? :)
>
> オイオイ、、。
(゚Д゚)ハァ?
>>113 > procmailが起動されるたびにこんなのがsyslogに出ます。
> ippl: ICMP message type destination unreachable - bad port from myhostname [127.0.0.1] (127.0.0.1->127.0.0.1)
同じことで悩んでここに辿りつきました。
私の解決法を示しておきます。
これはprocmailがbiff serverに通知しに行ってるからだと思われます。
よってprocmailrcに
COMSAT=no
を入れてみてください。
>>228 > ちなみに、漏れのところに「未承諾広告※」メイルはいままで1通しか
> 来たことがないんだけど、どうすれば沢山来るようになるのかな? (w
OpenLab 系 や NetBSD.jp 系の ML によく来るかな?
> でも、逆に日本語の単語の区切りを認識させればばっちり対応可能
> なんだよね。要望上げておくといいかも。ただ、日本人のユーザはこ
> この住人を含めて10人くらいかな(w
ここは日本で唯一の SpmaProbe コミュニティーですからね。
日本語を認識してほすい。
235 :
名無しさん@お腹いっぱい。 :02/10/05 23:20
『SPAMの撃退』という本に、
「^TO_
[email protected] 」の説明として、
<宛先となりうるすべてのヘッダ(To,Cc,Bccなど)にたいして
指定されているアドレスが含まれているかを検査している>と書いてあるんです。
で、(To,Cc,Bccなど)の「など」って、何をさしてるんですか?
To,Cc,Bcc以外にありうるのでしょか?
「☆たまげたニュース☆」は X-SpamProbe: SPAM 1.0000000 となってくれますた
>>238 アワビが大量とか勃起クリームとかのUCEが一通にまとまった徳用UCE。
SpamAssassinだと8.1hitsでした。
>242 そうそう、それ。 このページ気合い入ってますね。バナーのセンスはともかく。
>>242 パッと見キーワードは日本語(あるいは2バイトの英数字)ばかり
なのでこれでいきなりSPAM判定したとしたら凄い。URLが引っ掛
かったのかな?
ちなみに以前「しじみともも」が来たけどこれはGOOD判定ですた。
>>244 うちの環境ではこんな感じ。
% spamprobe -T score ~/Mail/00spam/3
1.0000000
Spam Prob Count Word
0.9999900 6 tky.3web.ne.jp
0.9999900 16 zb
0.9999900 7 zb zb
0.9999900 5 zzzzz
0.9999900 5 zzzzzzzzzzz
0.9999900 3 zz zz
0.9999900 3 zzzzzzzzz
0.9999900 2 zzzzzzz
0.9999900 2 zzzzzzzz
0.9999900 2 zzzzzzzzzzzz
0.9999900 2 zzzzzzzzzzzzzzzzzzzzzzzzzz
0.9999900 2 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
0.9993555 2 zzzz
0.9987118 3 zzzzzz
z で潰されるので何だか判らないが(w
>>245 結局 "tky.3web.ne.jp" に反応しているだけなのかな。
ちなみにSPのバージョンは?漏れのは0.7aだけど-Tオプションはない。
> z で潰されるので何だか判らないが(w
文字コードがEUCだからかな。-8を付けると8bitキャラクタをzにマッピング
することはなくなるようだけど、正しく日本語の単語境界を認識しなければ
ノイズにしかならないだろうね。
>>246 0.7c。これが最新のはず。
> 文字コードがEUCだからかな。-8を付けると8bitキャラクタをzにマッピング
> することはなくなるようだけど、正しく日本語の単語境界を認識しなければ
> ノイズにしかならないだろうね。
うちのは SJIS みたい。-8 だと、スコアは 0.9940166 になる。ただし、日本語
以外の文字列が spam の重みになっている。
>>248 あと JIS を読んでくれるか…。
42MB に巨大化。
>>249 > あと JIS を読んでくれるか…。
残念ながらそれは無さそう。以下、READMEより抜粋:
> The notion of "word" used by SpamOracle is slanted towards Western
> European languages, i.e. the ISO Latin-1 and Latin-9 character sets.
> SpamOracle will not work well if you receive many legitimate e-mails
> written in other character sets, such as Eastern Asian languages.
>>252 マンセー!
これも spamprobe score の結果うpきぼーん。
>253 spamprobe-0.7a: 1.0000000 spamprobe-0.7c: 0.0000000 ありゃ。-Tが欲しくて0.7cを入れたら点数変わっちゃったよ。というわけで解析結果は謎。ヽ(`Д´)ノ
なんか不気味なのでまたゼロから育成を始めました。
-rw------- 1 ne-yo ne-yo 1769472 Oct 10 21:50 .spamprobe/sp_words
>>252 のスコアはこんな感じです。
$ spamprobe -T score tmp/1
1.0000000
Spam Prob Count Word
0.9999900 5 owari
0.9999900 5 owari.ne.jp
0.9999900 4 ja
0.9999900 4 jp.netbsd.org
0.9999900 4 pkg-ja
0.9999900 4 tech
0.9999900 4 tech-pkg-ja
0.9999900 4 tech-pkg-ja jp.netbsd.org
0.9999900 3 iri
0.9999900 3 iri.co.jp
0.9999900 3 pigu
0.9999900 3 pigu.iri.co.jp
0.9999900 3 webmaster
0.9999900 2 $b$3$n
ウァァァァァンヽ(`Д´)ノ
SpamProbe 0.7d age DBの巨大化を防ぐためのコマンドが追加された模様。 漏れは FreeBSD の ports 待ちなので、誰か使ってみてくだちい。
>>255 うpサンクスコ。
要するにヘッダに出てくるホスト名だけで判定したということですか。
うーむ。
SpamProbe 0.7d、GDBM を使うおうとするとコンパイルが通らん…
259 :
名無しさん@Emacs :02/10/13 00:36
ls ~/Mail/inbox 1 2 3 という状態で、 ~/.procmailrc に :0 * . $HOME/Mail/inbox/. と書いておきます。 二つのメールが同時に来て procmail が二つ同時に起動して、片方のメールが消 えてしまうと言うことはないのでしょうか?(両方とも ~/Mail/inbox/4 に書き込 もうとする)
ございません
>>260 理由を詳しく説明していただけませんでしょうか?
# 2ch なので、疑り深くてごめんなさい。
man procmail
263 :
名無しさん@お腹いっぱい。 :02/10/13 13:22
>>259 procmailにはlock機構があるからracing conditionでもおかしくなることは無いよ。
まあ、他のプロセスがlockせずに書きまくる状態でどうなるかは知らんが...
#!/bin/sh PATH="$PATH:/usr/local/bin" NKF='nkf -j' WAKATI='kakasi -w -ijis -ojis' SP='spamprobe -7' while getopts a:cd:hH:mr:s:t:TvVw:xXY78 opt do case $opt in [adHnrs]) SPOPT="$SPOPT -$opt '$OPTARG'" ;; *) SPOPT="$SPOPT -$opt " ;; esac done shift `expr $OPTIND - 1` SPCMD=$1 if [ "$SPCMD" = "" ]; then $SP -h elif [ "$2" = "" ]; then $NKF | $WAKATI | $SP $SPOPT $SPCMD else shift 1 for file in $* do $NKF $file | $WAKATI | $SP $SPOPT $SPCMD done fi
日本語対応がやっぱしnkfやkakasiが毎回走ると重いわな ソース読んでlibkakasiやlibnkfや使わないと駄目かな
>>264 良く分かっていないのですが、これは spamprobe を日本語に対応させるもので
しょうか?
>266 そうだけど重すぎるな 日本語のタイトルで得点つけなくていいならnkfはいらん気がする
>>267 ~/.spamprobe/sp_words は一回けさなきゃだめ?
>268 消す必要はないけどもspamコマンドで再度データベースに追加する必要はある 英語の分のデータベース消すのが惜しかったらそのまま追加でいいかと思われ
あぁ 空白詰められてるし 後 [adHnrs]) は [adHrstw])の間違いです。
272 :
名無しさん@お腹いっぱい。 :02/10/16 07:43
Procmailを使って、 「From欄を書き換えてから別のメアドに転送する」には、 どうするのが得策なんでしょうか?
>>264 SPOPTを最初にクリアする方がよくないか?
>>267 すでにSPが十分重いので誤差の範囲では?
276 :
名無しさん@お腹いっぱい。 :02/10/19 11:36
くだ質でちょっと書いたんですが こっちに専用のすれがあったので引越しー Procmailで 条件にあったら fromに定型のテキストを送り返すことってできますでしょうか?
>>276 できるけど、素人にはおすすめできない。
From: が詐称されてたらどうすんの?
ループしたり ML に流しちゃったりしそうだし。
>>276 くだ質で書いたがprocmailex嫁。
>>277 さんが指摘しているリスクを回避する例が載っている。
279 :
名無しさん@お腹いっぱい。 :02/10/20 15:56
To:の行がないメールに対して、 :0 $DEFAULT がとらえてくれず、メールが来ないのですが、 どうすればいいのでしょうか・・・?
>>279 To: の有無は関係ないような。
.procmailrc と問題となるメイルのヘッダを晒してみ。
>>280 すみません、別の条件にたまたまひっかかって、
他のアカウントに転送されてました。すみません・・・
>>281 sageてくれれば何の問題も無かったのだが。
284 :
名無しさん@お腹いっぱい。 :02/10/25 18:17
「magclmn-list.txt っていうアドレスにgrepかけて、
それにひっかかれば、magclmn に送り、
さらに、もし1000bytes未満なら、
[email protected] に送る」
っていうレシピは、以下ので問題ないでしょか・・・?
:0
* ? grep -q -f /usr/home/hogehoge/magclmn-list.txt
{
:0 c
! magclmn
* < 1000
:0 :
!
[email protected] (←ケータイのアドレス)
}
それくらい実験したらどうですか
>>285 いや、間違って、エラーメールで返送されてしまったら、こわいので。。。
287 :
名無しさん@お腹いっぱい。 :02/10/25 20:42
ubiqun使えば?
>>287 を、これいいですね。知らなかったです。>ubiqun
ちょっと調べてみます。
freebsd-hackers に「しじみともものコラボレーション」が(w SpamProbeでは検出できませんですた。
漏れも SpamAssassin や SpamProbe で遊んでみたいのですが、 そもそも SPAM が全く来ません。 皆さんどうやって SPAM を沢山受信してるんでしょうか?
>>291 usenet最強だが、メールアドレス丸出しでアーカイブされる
メーリングリストに投稿するのも(・∀・)イイ!!
>290 -currentと-bugsにも来ましたがうちは全部拾えました。 1.0000000 Spam Prob Count Word 0.9999900 8 allround 0.9999900 8 allround.sib.ru 0.9999900 8 http magazine.japanesebabies.com 0.9999900 8 http www.allround.sib.ru 0.9999900 8 japanesebabies 0.9999900 8 japanesebabies.com 0.9999900 8 magazine.japanesebabies.com 0.9999900 8 sib 0.9999900 8 sib.ru 0.9999900 8 www.allround.sib.ru 0.9999900 3 cmail11jp 0.9999900 3 cmail11jp yahoo.co.jp 0.9999900 3 ooo.no 0.9999900 3 zqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzq おまけ: もうすぐまた50MBになります -rw------- 1 ne-yo ne-yo 51150848 Nov 3 00:15 sp_words -rw------- 1 ne-yo ne-yo 51707904 Oct 10 20:56 sp_words.7a
>>294 自分のところ、知らぬ間に 90MB。
ほとんどの spam は検出してくれるようにはなったが…
>>291 英語のSPAMが欲しければ、ドメインの連絡先になると(・∀・)イイ!!
絶妙な300get
301 :
名無しさん@お腹いっぱい。 :02/11/06 14:49
procmail で X-ML-Name: foo なヘッダがあったら foo な Maildir (勿論 foo
は任意の文字列) に振り分けたいんですが可能でしょうか?? 1つ1つレシピ書
いてくのは避けたいもので。
.procmailrc に
:0
* ^X-PROC-Test: *\/.*
.$MATCH/
を追加して X-PROC-Test: procmail-test てなヘッダを付けてみたんですが、
From
[email protected] Wed Nov 06 05:00:12 2002
Subject: procmail test
Folder: ./msg.2AoO procmail-test/new/1036558819.16027_2.uzee 2020
となってしまいますた。
Folder: .procmail-test/new/1036558819.16027_2.uzee
こうなってほしかったのだが。。。誰かやってる方いませんか??
>>301 foo なっていういいかたむかつね?
# wl ユーザ?
>>301 :0
*^X-ML-Name: foo
foo_dir/
> foo なっていういいかたむかつね? べつに標準的ないいかたのような…
きどっているかんじがしてはきけがする。
>>302 s/foo/hoge/g ならいい??
>>303 あ、それを1つ1つ書かないで動的にやりたいって話です。判りにくかったらス
マソ。
>>301 procmail で X-ML-Name: foo というヘッダがあったら foo という Maildir (勿
>>309 あ、あとヘッダじゃなくてフィールドだろ? :)
>>301 それ、 "X-ML-Name: ../foo/bar" とかやられそうでこわくない?
313 :
名無しさん@お腹いっぱい。 :02/11/06 16:30
foo bar bazあたりは、みんな空気のように無意識に使うもんだろ。 そのへんを気取ってるといわれても… printfとかintとかtmpとかも 気取ってて はきけがするのかな? (w
foo が気取ってるなんて初めて聞いた
どうでもいいけど、くだらねーから終了しろ。
317 :
名無しさん@Emacs :02/11/06 16:52
どうでも(・A・)イクナイ!!
>>312 あ、たしかに。何らかの汚染チェックはやっとかないとマズいですね。
電通大生のアンケートは spam 判定してくれませんでした
さらしあげきぼんぬ
でけた。 :0 * ^X-ML-Name: *[^/. ]+ * ^X-ML-Name: +\/.* .$MATCH/ で逝けてるっぽい。最初の * ^X-PROC-Test: *\/.* だと $MATCH の先頭に空白が入っちゃってました。ちゃんと確認しろ>漏れ いちお簡単な汚染チェックも入れてみたけど、こんなんでいいかな。
TMDA (
http://tmda.net/ ), which now has support for Japanese templates.
だって。
-rw------- 1 mona wheel 100909056 Nov 14 20:33 sp_words
100MB 越え…。
spamprobeをsleepycatのdb3で使っている方、 cleanupしてdump|loadすると大幅に小さくなるんですけど、その後急速に大きくなりません? $ spamprobe cleanup 1 && db_dump sp_words|db_load sp_words.new && ls -l sp_* -rw-r--r-- 1 ne-yo ne-yo 46120960 Nov 14 20:58 sp_words -rw-r--r-- 1 ne-yo ne-yo 22822912 Nov 14 20:58 sp_words.new 朝方dump|loadしても今頃の時間にはまた20MB以上増えているという。 それとは別に、spamprobe receiveでは51,200,000bytesになるとサイズが増えない、 手動でspamprobe good|spamすると増えるがdbが破壊される、という症状が出ています。 136さんはGBDMですか?
>>323 > 136さんはGBDMですか?
ports なので db3 のようです。
>324 portsということは0.7cですか。むーん. うちのんは0.7gですが、50MBで成長が止まるのは初めて入れた頃からです。 やっぱり変なのはうちの環境でしょう。心当りがありすぎですので。 泣いて帰ります。ヽ(`Д´)ノ
>>325 どこかで ulimit -f してない?
>326 ども、背中に氷を入れられた思いです。 spamprobeをshell scriptでくるんでulimit -aしてみたところ、 確かにfilesizeが100000 blocksになっていました。 心当たりがなかったのでさらにごそごそすると、どうやらこれはpostfixの mailbox_size_limit = 51200000 に由来するようです。週末で流量が減っているのでまだ制限まで達していませんが、 今夜までには結果が出ると思います。
おかげさまで無事51200000bytesに達しました。
-rw-r--r-- 1 ne-yo ne-yo 51363840 Nov 22 00:42 sp_words
db_verifyも通り、正しくアクセスできていることがわかりました。
いじったのは
>>327 の部分だけです。するどい指摘をどうもありがとうございました。
この一週間のできごと:
設定した覚えのない時は暗黙の制限の継承を疑え。
spamprobe cleanupによって、sp_wordsのサイズ上昇をある程度抑えられる。
Razorを有効にしたらメールが集中しなくなり、結果的にサイズが肥大しても
気にならなくなった。
329 :
名無しさん@お腹いっぱい。 :02/11/24 12:35
~/.procmailrc で spamprobe 0.7c を使っているのですが Razor も併用するにはどうすればいいのでしょうか?
あ、別に spamprobe と組み合わせて使わなくてもいいのか。
>>126 のように設定して漏れたのを spamprobe に食わせればいいのか。
これで sp_words の増加も防げると…。
だれか spamprobe-0.7g の ports 作れた人いませんか? Makefile いじってみたがうまくいきません。 0.6 との互換性を保つ辺がひっかかってるのかも。
spamprobe-0.7g は、うちではコンパイルが通らん。少し前のバージョンでも 同じことがあったが
333 :
名無しさん@お腹いっぱい。 :02/11/25 15:37
razor 使い始めたのですが ローカルなユーザに mail コマンドで送った
メール (From:
[email protected] ) ってのが SPAM と
見なれてしまうのですが、除外するにはどうすればいいのでしょうか?
>333 man razor-whitelist と申しますか、procmailからrazorを起動しているのなら、 そもそもspamでは有り得ないメールはfilterを通さないとかやらないと コストが高くってしょうがないです。
>>328 いやいや、個人的に非常に心当たりのある現象だっただけで、
全然鋭くないっす(w
>>330 確かにそれでsp_wordsの増加を防ぐことができるけど、SPに食わせる
SPAMを減らしてしまってはその分精度が犠牲になるのでは?
>>332 FreeBSD の話であれば,(/usr/include に非互換の db.h があるので)
./configure したあと,Makefile で
-DEFAULT_INCLUDES = -I. -I$(srcdir)
+DEFAULT_INCLUDES = -I. -I/usr/local/include/db3 -I$(srcdir)
とやってごまかせば手元では通りました(4.7-stable).
動作確認はしていませんけど.
という話ではない?
ports的にはこんな感じでどうでしょう。 people.freebsd.org/~sf/spamprobe.diff.gz -STABLEでは通りますが、ちょっち前の-CURRENTではいきなり Internal Compiler Errorだったので 今commitするのはまずいかと思って放置していました。
340 :
名無しさん@Emacs :02/11/26 19:25
同じ設定ファイルを他のマシンに移したら動かなくなってしまった。 procmail: Suspicious rc file ... procmail: Couldn't read ... なんて出てしまうんです。 パーミッションは大丈夫なのに... ちなみに、.procmailrcはこんな感じ。 PATH=/usr/bin:/usr/local/bin MAILDIR=$HOME/Mail DEFAULT=$MAILDIR/inbox LOGFILE=$MAILDIR/from-log LOCKFILE=$HOME/.lockmail :0 inbox/. 何か、だめな原因わかりますか?
>>340 > パーミッションは大丈夫なのに...
どっからそんな自信が出て来るのやら。
そのログが出る該当部分のコードを読んでみたが、、、
よ、読めねえ。。。
>>343 > そのログが出る該当部分のコードを読んでみたが、、、
procmail(1) にそのものズバリの理由が書いてあるぞ
しかし procmail のソース見ようとするとは、勇者だな(w
>>340 > パーミッションは大丈夫なのに...
大丈夫かどうか判断してやっから
% id
% ls -l ~/.procmailrc
の結果晒してみ
>>344 ,345
manにあったんですね。解決しました。
不覚にもソースを読んでしまい、なんじゃこりゃ!
新人研修を受けてこいと、小一時間...
>346 最初にmanを調べない貴方様も同罪
なんか l-u や d-u の spamassassin て誤判定が多いような。 まともまメールがひっかかってしまている。
349 :
名無しさん@お腹いっぱい。 :02/12/12 04:41
fetchmail+procmailを使うようになったのですが/dev/nullに 逝ったメールもbiffが伝えてくれて困ってます。 ~/.procmailrcの一番下に: :0 c * inbox/. :0 ic | touch /home/user/.mailflag :0 ic | echo "newmail" > /home/user/.mailflag というのを作ってinboxへ振り分けられた時だけmailflagを立てて xbiff -file ~/.mailflagなんてしているのですが、なぜか/dev/null へ逝ったメールの時もmailflagができてしまいます。 メーラーはprom-wlを使っています。記述が悪いのでしょうか? 教えて下さい。
>>349 答えになってなくて申し訳ないんだけど、
「一番下」のレシピのフラグに c を付けるのはどうなんだろ
ひょっとして /dev/null 送りのレシピのフラグにも付いてない?
>>350 レスどうもです。
全ての/dev/nullの下にはなにもなく、一番下にあるinboxの
レシピにだけmailflagの記述があります。やっぱりレシピの
書き方に問題がありそうです。もう一度procmailex勉強して
きます。
>>351 /dev/null 送りのところで「:0 ic」ってなってるのなら、
「:0 i」にしてみたら?
ということを
>>350 は言っていると思うのだが
>>353 レスどうもです。
/dev/nullの方のレシピは全て「:0」だけで
inbox/.の方のレシピだけが「:0ic」を持っています。
いくつか試して見ましたが、未だに/dev/nullの告知が
されてしまい、スパムメールに怒り爆発(藁)
情報キボンヌ
#その他のメールは全て inbox フォルダに移動
:0 c
| touch /home/onigiri/.mailflag && echo "newmail" > /home/onigiri/.mailflag
:0
inbox/.
/dev/null 送りとやらのレシピを見せれ。
:0 * ^Subject:.*(Viagra|Nude|Porn|SEX|XXX) /dev/null :0 * ^Content-Type: text/(plain|html); *charset=("?)(big5|gb2312|ks_c_5601-1987)("?) /dev/null :0 * ^X-RBL-Warning: .*(china|korea) does not seem to care about spam /dev/null :0 * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\* /dev/null :0 * ^X-Spam-Status: Yes /dev/null :0: * To:[ ]*$ /dev/null # No To: header at all! :0: * !^To: .* /dev/null :0: * ^X-Advertisement:.* /dev/null
356 :
名無しさん@お腹いっぱい。 :02/12/14 06:02
これらが/dev/nullの付いたレシピです。m(_ _)m
間違えました。 almost-certainly-spamを/dev/null probably-spamを/dev/null として使っています。
>>357 , 358
その SPAM は spamassassin に SPAM だと認識されてる?
procmailの経験が浅いのにいきなり/dev/null送りのレシピを使うのは どうよ?とりあえずごみ箱フォルダ逝きにしておいて、後で消す方が 安心だと思うが。
>>359 されています。procmail.logを覗くと***SPAM***と
いうのがサブジェクトに足されており、これはspamassasssinに
よるものなようです。
>>360 ~/.procmailrcの一番上には
:0 c
backup/.
:0 ic
| cd backup && rm -f dummy `ls -t msg.* | sed -e 1,100d`
こんな感じで一応100通バックアップしています。m(_ _)m
spamassassinのところでいろいろ試して見ました。
その結果、/dev/nullの変わりにspamフォルダーに行き先を
変えたら、不思議なことにmailflagが立たないようになりますた!
なのでspam folderを定期的に消してやってこうと思います。
きっと/dev/nullのままでもうまくやる方法があるとは思うんですが
結果オーライです(藁)
362 :
名無しさん@お腹いっぱい。 :02/12/16 04:58
procmailとsendmailってどんな違いがあるんですか。 厨な質問ですまん。
どんな違いって、どう同じだと思ってるんですか。
364 :
362 じゃないよ :02/12/16 14:54
>> 363 末尾4文字
スマン。未だに双方の違いが分からん。 procmailってsendmailのオマケとして使うフィルター機能を充実したアプリという 解釈で合ってますか。 強いて言えば、sendmailにできないものは存在しない。 ∴sendmail > procmail sendmailマンセー!
>>367 > スマン。未だに双方の違いが分からん。
> procmailってsendmailのオマケとして使うフィルター機能を充実したアプリという
> 解釈で合ってますか。
ちょーちょーおおざっぱに言えば、
合ってるといえないこともないかもしれない.
> ∴sendmail > procmail
役割りが違うので、比較は無意味。
procmail を sendmail と比較する思考がわからん。
あんパンとフライパンを比較したい香具師もいるってこった。
MTA と MDA についてしらべよ。(10 点)
372 :
名無しさん@お腹いっぱい。 :02/12/18 23:22
>>370 パン食い競争にフライパンが出てくるのを想像してしまった……
途方に暮れそうだ。(w
スレ違いスマソ。
>>373 ファミコンの『忍者ハットリくん』の世界だな。
あれは竹輪とバーベルか。
375 :
名無しさん@お腹いっぱい。 :02/12/27 23:59
新年を迎えるのに ~/.spamprobe/sp_words を整理しようと思い
spamprobe cleanup したのですがシステム毎止まりました。
150MB もあるからでしょうか?
FreeBSD に
>>339 の portsです。
150MB 以上は成長しないようなでほっておいてもいいのですが…。
>375 まだ100MBにも達しないので何ともいえませんが、システムごと止まるのはいけませんね。 システムというのがkernelのことならそっちが問題ですが、いつまでもcleanupが 終わらないのならsp_wordsが壊れている可能性があります。その場合は db_verityでテスト、db_recoverで大方救えるでしょう。 150MB以上成長しないというのはulimitとかその筋で制限されていて その結果dbが壊れているのでは? どこかで聞いた話です。 うちでは毎日cleanup 1 30、週一でdb_dump|loadしています。 -rw-r--r-- 1 ne-yo ne-yo 102318080 Dec 28 08:12 sp_words >328によると11月22日に50MBになったらしいので、約40日で50MB増えるペースのようです。 結果は40日後に。
>>376 > システムというのがkernelのことならそっちが問題ですが、いつまでもcleanupが
> 終わらないのならsp_wordsが壊れている可能性があります。その場合は
> db_verityでテスト、db_recoverで大方救えるでしょう。
そうです終わらないのです。
db_verity (うちでは db3_verify) ~/.spamprobe/sp_words
すると何もなく終了しました。 db_recover の方は使いからが
わからないのですがどう使うのでしょうか?
> 150MB以上成長しないというのはulimitとかその筋で制限されていて
> その結果dbが壊れているのでは?
たぶんそうだと思います。
> うちでは毎日cleanup 1 30、週一でdb_dump|loadしています。
僕もそうします。
>377 -rw-r--r-- 1 ne-yo ne-yo 55394304 Dec 29 08:12 sp_words 今朝dump|loadしたらこんなになりました。12月はかなりメールが少ないですけど、 うちでは100MBに届かずに平衡に達したようです。 DB utilityの使い方はshare/doc/db3/utility以下をご覧ください。
+2買う方向で検討してみます。 外人さんから買うのはちょっと怖い。 loot品とか永久毒とかは見れば分かるのかな。
(^^)
383 :
名無しさん@お腹いっぱい。 :03/01/19 00:22
未承諾メールがspamassassinをすり抜けてきたので、何故かと思っ てよく眺めてみたら、末承諾(未来の未ではなく、世紀末の末)になっ てた。誤変換でこうなるのは考えにくいから多分わざとなんだろうね。 # intentional typo of mishoudaku header SUESHOUDAKU Subject =~ /Kv>5Bz/ describe SUESHOUDAKU SueShoudaku score SUESHOUDAKU 2.00 スコアは適当に調整して下さいな。 ついでにあげときます。
384 :
名無しさん@Emacs :03/02/13 13:53
spam がひどくなってきたのでfetchmail, procmail, spamprobe を導入しました .procmailrc に ----- MAILDIR=$HOME/Mail LOGFILE=$MAILDIR/procmail.log LOCKFILE=$MAILDIR/procmail.lock FORMAIL=/usr/bin/formail SPAMPROBE=/usr/bin/spamprobe # SpamProbe rule. :0 c { # Generate a score for the message. SCORE=`${SPAMPROBE} receive` # Add a X-SpamProbe header to the message. :0 fhW | ${FORMAIL} -I "X-SpamProbe: $SCORE" :0h * ^X-SpamProbe: SPAM trash/. :0 E inbox/. } ----- このように書いてみたものの、振り分け後も/var/mail にメールが残って鬱陶しいです コピーではなくて移動するにはどうしたらいいのでしょうか?
思いっきり c て書いてありますが…
>>385 ありがとうございます
言われて気づきました
389 :
名無しさん@お腹いっぱい。 :03/02/13 22:28
質問
>>264 のシェルスクリプトってどうやって使うんでしょ?
>>389 必要とするコマンドを仕込んであればイイんじゃないの?
そういう意味ではなくて?
>>390 spamprobej とか名前を付けて、.procmailrcで
spamprobeの代わりに呼び出す様にしたのだけれどそれでOKですか?
誘導されますた。 procmailrcの設定を行っているのですが、 日本語のメール本文に対するegrepがうまくいきません。 動きが中途半端になってしまいます。 どなたかご教授お願い致します。 :0 B c * ^a 上のように書いた場合, メール本文中の"a"に対してgrepすることは可能です。 しかし、"a”の部分を日本語にした場合、動作が半端になってしまうんです。 メール本文(ボディ)の一行目にだけgrepを行ってるようなんです。 具体的には次のようにレシピを書きました。 :0 B c * ^\/.* * ? echo "$MATCH" | nkf -meZ1 | sed 's/[[:space:]]//g' | egrep 'あ' 上のように書いた場合本文の一行目に"あ"がある場合は動作してくれるんですが、 他の行に"あ"があっても転送等が行われないんです・・・。 どのように対処したらいいのか分からなくなってしまったので質問しました。 レシピに問題があるんでしょうか? なぜボディの一行目のみを読みにいってしまうんでしょうか? 宜しくお願いします。
>>392 俺も昔、日本語のマッチで詰まったことがある。
俺は結局egrepが日本語に対応してたりしてなかったりしたのが原因だったけど。
俺の場合、Fromとかsubjectは
---
* ? echo "$MATCH"|nkf -Zme|grep "広告"
---
でマッチしている。
で、本文の場合は
---
# BODY(本文)に"お人形さん"を含む物を弾く
# B はBODYの意味
:0 B
* ? nkf -e| grep "お人形さん"
| /usr/local/bin/spam.sh ${MLOWNER}@hoge.hoge.ac.jp
---
でうまくいったような記憶があります。
参考にしてください。
age
>>394 * ? nkf -e| grep "キーワード"
でうまく動いてくれました!
私の場合も多分、egrepが日本語に対応してたり
してなかったりってパターンだと思います。
参考になりました。
ありがとう。
397 :
名無しさん@お腹いっぱい。 :03/02/22 16:48
spamprobe の db をメンテナンスするのに
/usr/local/bin/spamprobe cleanup 1 30
と
/usr/local/bin/db3_dump ~/.spamprobe/sp_words | /usr/local/bin/db3_load ~/.spamprobe/sp_words
を Cron に登録して実行させてみました。メンテナンスの前後でファイルサイズが
変わらないのですが、何が間違っているのでしょうか?
FreeBSD 4-STABLE と
>>339 さんの ports です。
>397 そりゃまあ。 db3_dump sp_words|db3_load sp_words.new && mv sp_words.new sp_words ところで、dump|loadして一時的に縮んだところで、急激に成長してすぐに 元に戻ってしまうので、ほとんど意味はありませんです。なんとなく楽しいくらいで。
399 :
名無しさん@お腹いっぱい。 :03/02/28 18:06
SpamAssassin の設定ファイルに以下のような記述があります。 # Speakers of Asian languages, like Chinese, Japanese and Korean, will almost # definitely want to uncomment the following lines. They will switch off some # rules that detect 8-bit characters, which commonly trigger on mails using CJK # character sets, or that assume a western-style charset is in use. # # score HEADER_8BITS0 # score HTML_COMMENT_8BITS0 # score SUBJ_FULL_OF_8BITS0 # score UPPERCASE_25_500 # score UPPERCASE_50_750 # score UPPERCASE_75_1000 この文脈で以下の解釈は正しいでしょうか。 They will switch off some rules that(1) detect 8-bit characters, which commonly trigger on mails using CJK character sets, or(2) that(3) assume (4) a western-style charset is in use. - or(2) は that (1) と that (3) を並べている。 - (4) の位置に名詞節を作る that が省略されている
文法的に考えるとややこしいなぁ… 文章の頭から訳してった方が楽ぽ
「名詞節を作る that」なんて忘れてたよ。 ふつー省略されるからなぁ。
404 :
名無しさん@お腹いっぱい。 :03/03/04 18:52
>>404 まずその文書の日付を見て、それからmanを引いて現状のprocmailの機能を確認しる!
文書の日付が古いのはわかった。 けど、現状の機能には、このパッチが実現する機能はないような・・・
>>406 何をもって機能がないと言ってるかよくわからんけど、
Maildir 形式のフォルダへ格納する機能はあるでしょ。
>>406 お前は本当にmanを読んだのかと小一時間(ry
PAGER=cat man procmail | grep MAILDIR
>>409 それは maildir 違い。
ってわけでもないか。
いやー違うだろ。"MAILDIR"じゃ引っ掛かるもんも引っ掛からん。
"Maildir" って capitalize するのが正式名称じゃねえのかよ!? ざけんなヴォケ!氏ね!逝ってよし!> man procmail つーか一体なんなんだよ!?あのコーディング(ry
PAGER=cat man procmail | grep MAILDIR shrinks to just: LOGNAME, HOME, SHELL, ORGMAIL and MAILDIR. MAILDIR is not an absolute path MAILDIR path too long MAILDIR=$HOME/Mail #you'd better make sure it exists DEFAULT=$MAILDIR/mbox #completely optional LOGFILE=$MAILDIR/from #recommended
man procmailrc しろや
PAGER=cat man procmailrc | grep MAILDIR
man procmailrc | grep maildir
>>412 > "Maildir" って capitalize するのが正式名称じゃねえのかよ!?
See. /var/qmail/doc/INSTALL.maildir
419 :
名無しさん@お腹いっぱい。 :03/03/06 23:23
procmailを最近使い始めました。 「msg.HIbE」このように「msg.4文字の英字」のファイル名が デフォルトではつけられて、指定したディレクトリに保存 されているのですが、このファイル名が重複することは ないのでしょうか? 組み合わせは、26の4乗もあり、一生かかっても受信しないで あろう数ですが、なんとなく4文字しかないと心配になります。
>>419 procmail バージョンアップしる。
>>419 数字の連番にも出来るよ
出力先ディレクトリを
hoge/.
って指定
>>422 maildir 対応 MUA って、数字の連番ファイル名にも対応してるもんなの?
>>423 maildirは今勉強中なので俺はそこまでは解らぬ。
今度試してみよう
>>423 422 は分かって書いているのかもしれないけど
"数字の連番ファイル名" ってのは(&& hoge/. は)
MH folder のことです(一応 Maildir とは別形式と思いねぇ)
Courier IMAP は "数字の連番ファイル名" でも maildir と同じように扱うっぽい。
最近 razor が働いてくれない気がする…。 log には仕事しているように記録されてるが 一向に spam を捕まえてくれない。
log 繋がりで便乗。 ログを自動的に切り詰めるようにしたいのですが、.forward には どう書いたら良いでせうか。 "| IFS=' ' exec sh -c '/usr/local/bin/procmail -f- && umask 066 && tail -100 proc.log > tmp && mv tmp proc.log'" キモイでつね。
cron じゃダメか?
漏れは cron で rotate するのをオススメするよ。 複数メッセージ同時に配送された場合や tail で切り詰めてる最中にメッセージが到着した場合を考えるとちょっとね。
気のせいでした。 razor と spamprobe の二段重ねだと 600 通のメールを fecth し終るのに 40 分もかかるよー。 時々、止めていた後に起動した時に気になるだけで常時接続 して少しずつ fetch してる分には気にならないからいいか。
まぁ cron で処理っていうのがまっとうな方法だとは思いますが、 使うのが何も知らない一般ユーザなんですよね、しかもいっぱい。 なので、なんとか自動でできないかなぁと。cron + find で 全部のディレクトリサーチですか。。。うーん。 一般ユーザがログなんざ必要なのか? というと、それは要求仕様 なので必要なのです。 # 所詮ユーザログなんで複数起動してぶっこわれたときは諦める # というのもアリかと。 もうちょっと悩んでみます。
>>433 いや、そんな大層な代物ではないのですが。。。
1. メールの条件振り分け(転送とか削除とか)機能を作ってほすぃー。
2. Web インターフェイスでぽちぽちっとやりたい。
3. 結果のログも見たい。
↑
ログたまっちゃいますね、とか言ってみるテスト。
4. ログのサイズ制限できないの?
という流れです。
procmail=プロシーメイル だよな?
____ 、ミ川川川彡 /:::::::::::::::::::::::::""'''-ミ 彡 //, -‐―、:::::::::::::::::::::三 ギ そ 三 ___ 巛/ \::::::::::::::::三. ャ れ 三 _-=三三三ミミ、.//! l、:::::::::::::三 グ は 三 ==三= ̄ 《|ll|ニヽ l∠三,,`\\::三 で 三 / |||"''》 ''"└┴‐` `ヽ三 言 ひ 三 ! | / 三 っ ょ 三 |‐-、:::、∠三"` | ヽ= U 三. て っ 三 |"''》 ''"└┴` | ゝ―- 三 る と 三 | / ヽ "" ,. 三 の し 三 | ヽ= 、 U lヽ、___,,,...-‐''" 三 か て 三 . | ゝ―-'′ | |::::::::::::_,,,...-‐'"三 !? 三 ヽ "" ,. | | ̄ ̄ ̄ 彡 ミ ヽ、___,,,...-‐''" ,,..-'''~ 彡川川川ミ 厂| 厂‐'''~ 〇
>>436 え、違うの?
友人がプロックメイルとか言ってたので、
さんざんバカにしてしまったんですが、、、。
man -k procmail procmail(1) - autonomous mail processor
439 :
名無しさん@お腹いっぱい。 :03/04/10 22:02
最近はやりのbogofilterはどうですか?
転送しましょうか? 検知用の無害なウイルスファイルみたいに、spamを集めたサイトってないのかな?
bogofilter って Paul Graham タンのアイディアを実装したモノなのか。 ちょっと見てみようと思ったんだけど、 www.tuxedo.org の配下のコンテンツにアクセスしようとすると、 あちこちに飛ばされちゃうのは漏れだけ?
catb.org
spamprobeの前にbogofilter試用してみたんだけど、 あまり役に立たなかったよ。学習が足りなかったのかもしれないけれど。
どっちも日本語の形態解析はしないみたいだけど、 効果あるの?
448 :
名無しさん@お腹いっぱい。 :03/04/11 22:17
qmailからprocmailに渡したい時って .qmailに | exec /usr/bin/procmail かけばOK?
449 :
名無しさん@お腹いっぱい。 :03/04/11 22:40
| preline /usr/bin/procmail
>>446 日本語のような単語ごとの境界がない言語を扱う場合は,
形態素解析をする方法と,n文字で切り分ける方法があります
特にn=2のときはバイグラムと言い,「形態素解析」=「形態」「態素」「素解」「解析」となります
これだと本当に大丈夫なのか!?と思うでしょうが,意外とまともに動きます
>>452 Paul Graham タンのベイジアンフィルタの説明読む限りだと、
そういういんちゃんな方法でもうまくいきそうな気がするね。
と言いたいところなのだけど、そもそも、
「日本語のn文字で切り分ける」
ってのもできていなかったりしない?
fetchmailでGETしたのをprocmailで保存するときにメールヘッダの 日付をタイムスタンプに反映したいのだけど可能?
1 通 fetch するのに 5 秒…。 spma 氏ね。
456 :
名無しさん@お腹いっぱい。 :03/04/15 09:29
fetchmail → postfix → procmail と経由させている環境で spamassassin を通したいのですが、どこに入れればいいでしょうか? 自分としては SpamProbe みたいに ~/.procmail に書いて できればと思っています。 procmail に渡すのに 検索したところ、 ~/.forward に "|IFS=' ' && exec /usr/local/bin/procmail -f- || exit 75 #user" と書くようですが、自分の環境では .forward は使っていないので 他の方法でないでしょうか?
あ、 :0fw | /usr/local/bin/spamassassin -P だけでいいのか。
458 :
bloom :03/04/15 09:52
ports から p5-Mail-SpamAssassin-2.53 を入れて運用を始めました。 local.cf を書き換えた場合、設定を読み直すのはどうすればいいの でしょうか? /usr/local/etc/rc.d/spamd.sh stop && /usr/local/etc/rc.d/spamd.sh start しても Could not create INET socket: Bad file descriptor IO::Socket::INET: Address already in use と表示され、設定が読み直されません。 killall -HUP spamd こんな感じでも No matching processes were found となってしまいます。
spamdを殺してrestartしる。
461 :
名無しさん@お腹いっぱい。 :03/04/16 09:58
462 :
bloom :03/04/16 10:21
463 :
名無しさん@お腹いっぱい。 :03/04/16 23:39
/var/spool/mail/$USER から、 /$HOME/Mailboxへシンボリックリンクを張っているのですが procmailつかうとシンボリックリンクが切れてしまいます。 どうすればよいのでしょうか? procmailは/var/spool/mail/以下にユーザごとの メールの実体を保存するらしいのですがそのせいですか? .qmailは ./Mailbox | preline /usr/bin/procmail です。
シンボリックリンクを使うにしても、普通方向は逆にするんじゃない?
普通受信メールは /var/spool/mail/$USER にためていくんですか?
467 :
名無しさん@お腹いっぱい。 :03/04/17 10:49
(^^)
qmailだったら普通は$HOME/Maildir/ つーか/var/spool/mailなんて今は何も来ないよ。
procmail: Non-zero exitcode (1) from " echo "$MATCH" | nkf -meZ2 | sed 's/[[:space:]]//g' | grep '未承諾広告'" (´Д⊂ モウダメポ
471 :
名無しさん@お腹いっぱい。 :03/04/17 17:42
下がりすぎage
qmail は「普通」とは言えんな(w
>472 読解力が不足しております。
∧_∧ ( ^^ )< ぬるぽ(^^)
475 :
名無しさん@お腹いっぱい。 :03/04/20 22:13
>>475 マイナーバージョナップをいちいち報告せんでええよ
>>476 でもこれくらいしないとまだ知名度ほとんど無いから
>>477 それがほんとに良いソフトウェアならそんないちいち報告せんでも広まるやろし、
そうでないならそんな報告はただうざいだけ。
480 :
名無しさん@お腹いっぱい。 :03/04/22 02:13
procmailで、inboxに入ったメールを再振り分けするにはどうするんでしょ?
482 :
名無しさん@お腹いっぱい。 :03/04/22 14:34
SpamAssassin で spamassassin/50_scores.cf の中を見ると、例えば score LYING_EYES 1.097 1.720 1.095 1.134 こうスコアが 4 つ並べてありますが、どういう風に使いわけられているのでしょうか? 教えてください。
man Mail::SpamAssassin::Conf
>>480 mboxならformail -s procmail -Yf- < mbox
485 :
名無しさん@お腹いっぱい。 :03/04/22 20:20
ダブったメールの消去を各フォルダでやりたいんですが、 なにかよい方法教えて下さい。
>>485 mutt なら,フォルダで ~= パターンが使える
procmailex(5) に Message-ID をキャッシュする例があるので
応用できるかも
>>485 Mew なら M または、mew-scan-form-mark-delete を t にして s all
488 :
名無しさん@お腹いっぱい。 :03/04/30 02:41
procmail で配送完了の後にあるスクリプト(biff)を起動したいんだけどなん かいい方法無いですか。 :0c { # 全部のレシピをここにつっこむ } :0 | biff_script これでいけるかなと思ったけど procmail のログ見てると配送よりも biff_script のほうが先に走ってる様子。なんでだろ? そーゆーもん??
w Wait for the filter or program to finish and check its exitcode (normally ignored); if the filter is unsuccessful, then the text will not have been filtered.
>>492 Σ(゚Д゚;)ハッ
w ってフィルタの返り値云々…って思いがあって wait するってのがすっかり
頭から抜け落ちてたよ。まじサンキュ。
494 :
名無しさん@お腹いっぱい。 :03/05/03 08:17
SpamAssassin 用の 「援助交際」 や「しじみ」 など日本産の spam に使われる用語をデコードした filter を公開していたサイトを以前見たのですが どこだか分からなくなってしまいました。 ググっても出てきません。 どなたか知りませんか?
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
SPAM対策をしたいのですが、 あがってるなかで、もっとも簡単に導入できるのはどれなんでしょうか?
>>498 とりあえず、全部導入してみろ。話はそれからだ。
>>498 いやぁ、なかなかまとまった時間がとれなくて、躊躇してるんですよねー
何時間ぐらいかかるかなー
とりあえずやってみます
最初からカンペキを目指さなければそんなに大変じゃないですよ。
>>502 ガンガレー!! (他力本願部隊隊長より)
それはそうと、漏れも最近 SPAM うざくて困ってきてるので、
ベイジアンフィルタ系のをいくつか試そうと思ってまつ。
まずは、2000通近い海外からのロリータポルノ系 SPAM を手で選り分けてみますた。
ベイジアンフィルタ系のって 英語以外の spam もちゃんとひっかけてくれます? 使ってる方の意見を聞きたいです。
思いっきり外出ですたね。スマソ
SORT を読んでやってみたのですが、どうもうまくいきません。 $ORG{'person'}[1]="tanaka"; $ORG{'adana'}[1]="tanachan"; $ORG{'adanaid'}[1]=5; $ORG{'person'}[2]="takada"; $ORG{'adana'}[2]="takachan"; $ORG{'adanaid'}[2]=2; $ORG{'person'}[3]="imai"; $ORG{'adana'}[3]="imachan"; $ORG{'adanaid'}[3]=3; $ORG{'person'}[4]="takenaka"; $ORG{'adana'}[4]="takechan"; $ORG{'adanaid'}[4]=1; $ORG{'person'}[5]="hirano"; $ORG{'adana'}[5]="hirachan"; $ORG{'adanaid'}[5]=4; foreach ($key {sort { $ORG{'adanaid'}[$a] <=> $ORG{'adanaid'}[$b] } @ORG{'adanaid'}){ print qq|\$ORG{'person'} = $ORG{'person'} , \$ORG{'adana'} = $ORG{'adana'}, \$ORG{'adanaid'} = $ORG{'adanaid'}<br>|; } compilation errors.になってしまいます。 思うに、@ORG{'adanaid'}があやしいのかとも思うのですが、 ただしい記法はどうすればいいのでしょうか? ($ORG{'adanaid'}[1], $ORG{'adanaid'}[2], $ORG{'adanaid'}[3], $ORG{'adanaid'}[4], $ORG{'adanaid'}[5]) という意味の配列を表したつもりなのですが・・・
すいません、ごばくしました
procmailのログをcron以外でローテーションさせる最善の方法は何かありますか?
>>511 LOGFILE=/path/`date +%y-%m`
まローテートではないわけだが
>>514 おう、それイイな. 早速使わせてもらう是
517 :
名無しさん@お腹いっぱい。 :03/06/10 09:50
さがりすぎage
518 :
名無しさん@お腹いっぱい。 :03/06/15 20:16
スミマセン教えてください。 procmailを使ってSubjectを書き換えたいと考えています。 ただし、完全に書き換えるのではなく、 --- Subject: ***SPAM*** 元のSubject --- の用に、元のSubjectも残したいと思っています。 --- | formail -i "Subject: *****SPAM*****" --- ではSubjectが完全に書き変わってしまいます。 何か良い方法は無いでしょうか?
519 :
名無しさん@Emacs :03/06/15 23:05
正直、今時 junkfilter なんですか? bmf は?
>>519 spamprobe使ってます。
このようなレシピなのですが・・・
---
#spamprobe
:0 Wh
SCORE=|spamprobe -d /etc/spamprobe receive
:0 fhW
| formail -I "X-SpamProbe: $SCORE"
:0fhw
* ^X-SpamProbe: SPAM.*
| formail -i "Subject: ***SPAM***"
---
>>519 bmf ? なにそれ?
ってひとが多いだろうから、サイトをリンクするなり紹介するなりしてちょ。
試さず適当なことを言うと、 SUBJECT=`formail -xSubject:` みたいにして、オリジナルのsubjectを変数に保存してから、 formail -i "Subject: ***SPAM*** $SUBJECT" とかするのじゃないかなぁ。
>>519 いや、最近はBayesian Filterが流行ってると思うよ。
それ系のソフトではspamprobeネタが多かったな。
ま、もれはbogofilter使ってるが。
そういえば、ベイズの公式(定理)を使ったフィルターの比較をしてるページって無いのかな。
>>519 とりあえずお約束なspamは先にjunkfilterで先に叩き落して、
すり抜けたやつはbsfilterを通してる。
bsfilterは最近入れたんでまだ学習不足な感じだけど。
とりあえずプロバイダの鯖で動かせるのが前提なのでこの組み合わせ。
>>524 ,525
自分は bmf 使ってるんですが、いろいろあるんですね。
参考になります。
bmf の紹介はどこかの web で見つけ、そこには作者の論文も掲載されていたので、
なんとなくなっとくしていました。
ちょっと、試しに bmf から浮気してみます。
>>526 正直、今時 navi2ch-1.6.1 なんですか?
1.6.1-DEV は?
>>526 各々のフィルターに同じデータを食わしたときの速度比較,spam率キボーンヌ。
>>523 ---
SUBJECT=`formail -c -xSubject:`
---
とする事でうまく行きました。
ありがとうございました。
Wanderlustがspamassassinのsa-learnのフロントエンドとして使えるように ならないかなぁ。
>>532 そのページ、成果物をなんにも配布しとらんから無意味。
誘導されてきますた。 メールをPOPでクライアントに受信する前に procmailで取り込んできたメールをPerlスクリプトに渡して整形処理ってできる?
あなたの宇宙語は少しわかりにくいですが、 推測される未来は形成可能と存じます。
537 :
名無しさん@お腹いっぱい。 :03/07/01 09:32
めっちゃスキルの低い質問なのかもしれませんが。。。 現在qmail+vpopmailという環境下でサブジェクト内容によって異な るメールアドレスへの転送を行いたいのです。 そこで、PROCMAILで振り分けを行えないだろうか?と考えたのです が、レシピの書き方というか、環境設定部の書き方がおよび、バー チャルドメイン下での.procmailrcの置く場所が判らず困っていま す。 そもそも、この環境下で使えるものなのかも判らなく。。。 申し訳ないです。もし使えるものなら、 .procmailrcの配置場所 環境変数MAILDIRの書き方 DEFAULTの書き方 等を教えていただけないでしょうか。
538 :
名無しさん@お腹いっぱい。 :03/07/05 15:30
spamassassin でついたスコアによって procmail で振り分けたいのですが、procmail で スコアを評価するにはどのようなルールを書いたら いいでしょうか? たとえば 5 < score < 10 だったら 疑惑ディレクトリ、 score > 10 だったら 決定ディレクトリ、みたいにわけて いきたいです。
>>538 :0
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*
$SPAM
:0
* ^X-Spam-Level: \*\*\*\*\*
$DOUBT
でどうよ
fetcmail + procmail で SpamAssassin を spamd 通して使っているんだけど SpamAssassin の処理が遅い。並列化できないのかな?
どう並列化したいの?
>539 なるほど! 数字を直接評価しなくてもいけるか、 そのアイデアいただきます。
>>542 っていうか、spamassassin附属のprocmailrc.exampleに書いてあるだろ…
544 :
名無しさん@お腹いっぱい。 :03/07/10 20:49
procmail + spamassassin つかってみました。 なぜかメールが無限ループしてしまいます。 なんででしょ? .procmailrcの該当箇所はこれです :0fw *!^X-Spam-Status.* |/usr/bin/spamc :0: * ^X-Spam-Status: Yes /home/rintaro/Mail/spam/.
>>544 じゃあ、とりあえず
:0fw: spamassassin.lock
* < 256000
|/usr/bin/spamc
:0:
* ^X-Spam-Status: Yes
/home/rintaro/Mail/spam/.
ってやってみ
>>544 だめでした。
2分ごとくらいにメールが増えていく…
どういうタイミングで増えていくのかも
わかりません
もまいら、結局英語のスパム排除はなにがいいん ですか? おしえてください。
>>547 spamassassinにyoh氏がつくったuser_prefs使えば
日本語のスパムも含めほとんど排除できるよ。
>>547 もれはbogofilter使ってるけれど、SpamAssassinが最高という人もいるな。
bsfilterがいいというやからも居るが、普段使うようなものに呼び出しあたりのオーバーヘッドが大きいものは使えない。
そんな理由でC++でかかれているbogofilterなわけだが。
>>548 ,549
>>547 です。情報サンクス。
おれんとこは日本語スパムはほとんどこないんで、
bogofilterとやらにしよっかな。
spamassassinは今ちょっと使ってみたけどかなり重いね。
漏れんとこはjunkfilter+bsfilterで現在まったくといって いいほど漏れてこない状態。 まあjunkfilterもだいぶユーザー定義や改造した分もあるので こうでなくっちゃ困るんだが・・・
とりあえずkakasiとbogofilterを導入してみました。 ワクワク。
spamoracleは人気ないのかな
なによ、bogofilter って軽いの? 俺は今 spamassassin なんだけどボロマシ ンには確かに重いんだよな。bogo が軽いなら乗り換えも検討するんだが…
bogofilterは軽い重いと言うより開発陣を見ると 何となくそれにしてしまおうと思わせてしまうようなもの
>>555 SpamAssassinとbogofilterって両方ともフィルターだけれど、その目指すところって違うでしょ。
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
bogofilter 入れてみた。spamassassin の重さが嘘のよーにサクサク動いてる わ。まだ DB の学習中なんで sa と併用してるけど暫くしたら bf に一本化し てみよう。
561 :
名無しさん@お腹いっぱい。 :03/07/19 13:33
procmailでbogofilterにkakasi -w を喰わせてるんだけど、 これだとspam逝きのが分かち書きされたままになって しまいますよね。何かいい方法ないでしょうか? :0fw | kakasi -w | bogofilter -u -e -p -l :0: * ^X-Bogosity: Yes SPAM
こうかな? :0 HB: * ? kakasi -w | bogofilter -u -l
563 :
名無しさん@お腹いっぱい。 :03/07/19 14:32
>>562 式にspamassasinの方で
spamc -c を試そうとしたところ、exit codeの
真偽が逆... 反転の判定(!)ってprocmailrc内で
できますか?
>>563 のはこれでできたっぽい
* ! ? spamc -c
メールにgrepかけるとき、 みんなはどうしてますか? おいらは lgrep。 最初grepがJISに 対応してないって知らなくってハマった。
566 :
名無しさん@お腹いっぱい。 :03/07/19 18:42
spamassasin使ってるんですが、コイツは 「ルール型+ベイジアンフィルタ」のはずですよね。 ところがルールが優先するのか、sa-learnで誤検出を --forgetの後--hamで何度学習させたところで、osdnからの ニューズレターが全てSPAM扱いされてしまう。
>>565 先に nkf かませば済む話とちゃうん?
>>566 優先してる訳じゃなくて単にルールの方で大きなスコアが付いてるだけっしょ。
そのメッセージが引掛ってるルールのスコアを下げてやればいいんじゃね?
>>566 whitelist_from に入れればいいのでは?
>>568 先に bf してひっかかったら bogo-spam へ。殘りは全て sa してひっかかっ
たら sa-spam へ。sa-spam に入った奴は確認して bogo に学習させる。
sa は長いこと使って結構チューニングしたからこんなかんじでやってるよ。
572 :
名無しさん@お腹いっぱい。 :03/07/19 23:34
bogofilter で spam を学習させるのに、SpamAssassin で 集めた spam を登録してだいじょうぶでしょうか? SpamAssassin が書き換えたヘッダまで学習してしまうので 精度が心配なのですが…。
関係あるヘッダ消すように、一回フィルターかませば?
574 :
名無しさん@お腹いっぱい。 :03/07/20 00:20
>>573 ヘッダの ^X-Spam-* を消すのはなんとかできますが、
マルチパートになっているのを元に戻すのってどうやればいいんでしょ?
>>574 SpamAssassin の場合、Content-Type の boundary が二回目に
出現している部分の後にある空行から、boundary + -- で終わっ
ている部分の直前までかな。
取り敢えずbogofilterぶち込んでみますた X-Bogoなんてヘッダ追加されるのが嫌で以下みたいな感じ :0 HB: * ? $BOGOFILTER -u -2 spam これでmboxにSPAM届いてたらbogofilter -Nsで一個一個再学習 凄く快適だ。bogofilterの話を教えてくれたこのスレに感謝
bogofilterってman見たかぎりメッセージの単位は気にしてない ようだったので、複数メッセージをつなげて cat spam/* | bogofilter -s みたいに流し込んでますが、初回の学習ってこれでいいんですよね?
>579 -Mオプションってのもあるけど、付けても付けなくても、 -vの出力見る限りだと違いが分からん。 -vをつけて実行してみて254 messagesみたいに表示されれば 複数メッセージを認識してるってことでOKかと。
>>580 ありがとうございます。メッセージ単位はありそうですね。
-vをつけたところウチでも-Mありなしでメッセージ数は
変わりませんでしたが、1300以上あるのに11messagesと
出ました。かなりつながっちゃってますね(w
>581 、、、繋がってたら、意味がないっすよ。 格単語の重み付けは、メッセージ数で決定されるので、 15回分しか重み付けされてないってことですよね。 MH形式の場合は-bや-Bを使うのかなと。
>>582 >繋がってたら、意味がない
やっぱそうですか(汗
% ls | bogofilter -bsv
してみるとうまくいくみたいですが、kakasiとか
はさみたいのでとりあえず(激遅そうだけど)
シェルスクリプトで回してみます。
584 :
名無しさん@お腹いっぱい。 :03/07/20 15:42
585 :
名無しさん@お腹いっぱい。 :03/07/20 22:37
procmail で bogofilter で kakashi を使って、かつ、ヘッダに
X-Bogosity: Yes を追記するにはどうすればいいのでしょうか
>>561 ,562 を合わせたような感じです。
予想はしていたものの、 bogofilterを ループ内で毎回起動するとdbサイズが増えるに したがって重くなってもうだめぽ。只今dbが14M、 1メッセージ学習に3秒。。ってことはもしかして、 spamassasinより遅い?。bogo快調の皆さんの 環境のdbサイズを教えて下さい。
>>585 formail でできそうだけど、スパム判定は
終了コードで判別、さらにヘッダを加える
意図は?
流れはbogofilterマンセー、spamassassinステみたいだけど、 bfは仕組み上当たり前なのか、短文+リンク型のスパムに弱いみたい。 しょうがないんでsaで再検査、クロだったらbfで修正学習なんてこと やってるとsaオンリーの頃より遅くなってる罠。 【レシピ (2人分)】 :0 HB: * ? nkf -Zme | kakasi -w | bogofilter -u -l $SPAM :0 HB: * ! ? spamc -c { :0cw | nkf -Zme | kakasi -w | bogofilter -Ns -l :0 $SPAM }
>>588 短文のはbf育てても無毛な罠
いつまでもsa捨てられない罠
このナンセンス度かなり高い
レシピの改良案をキボンヌ。
最近は、spamassassinもベイジアンフィルタ機能付きだけど、 それでもbogofilterを併用するのは、何かメリットが?
うちは、7000通程のnon-spamと、200通程のspamを食わせてスタート。 寝てる間に来た60通程来たspamのうち50通程spamとして弾いてくれました。 データーベースはgoodが5M、spamが700k。 なんかこの手軽さにかなり喜んでます。 >586 spamassassinでdbが14Mに成長したらもっと遅いと思われ。
>>593 ベイジアン系フィルタでミスが 1割って多過ぎなんじゃない?
595 :
名無しさん@お腹いっぱい。 :03/07/21 03:39
getopts を初めて使ってみた記念カキコ。 (スクリプト名 ) -s (スパム)でスパム学習 (スクリプト名 ) -n (普通のメール)でgood学習 レベル低いが…
596 :
名無しさん@お腹いっぱい。 :03/07/21 03:40
#!/bin/sh OPT= if getopts sn OPT; then : else echo "Usage: $0 [-sn]" exit 1 fi shift `expr $OPTIND - 1` if [ $# -eq 0 ]; then echo "Error: you must specify files to make bogofilter learn" exit 1 fi for f in $@; do if [ -f $f ]; then nkf -me $f | kakasi -w | bogofilter -${OPT} case $OPT in "s") echo "${0}: learning $f as spam mail" ;; "n") echo "${0}: learning $f as good mail" ;; esac else echo "$f is not a normal file." fi done
>>594 すまん。spamは200通しか学習してないときの印象で書いてしまった。
もうちょっと統計とってみまつ…
ひぇえ、今
>>264 を見て自分がはづかしくなってしまいました。
スレ汚しスマン。
599 :
名無しさん@お腹いっぱい。 :03/07/21 04:08
ふと思った。ある程度学習させたら、あとは-uオプション外したほうがいくねえ?
>>587 > formail でできそうだけど、スパム判定は
> 終了コードで判別、さらにヘッダを加える
> 意図は?
ヘッダで判定して振り分けるしか、わからなかったからです。
:0 HB:
* ? kakasi -w | bogofilter -u -e -p -l
:0
* ^X-Bogosity: Yes
$MAILDIR/.spam.x-bogo/
こうやってみたのですが、maillog を見ると spam 判定されているのに
ヘッダが追記されないので、$MAILDIR/.spam.x-bogo/ に移動されないのです。
>>602 使い方間違ってるぞ…
振り分けさえできればヘッダは要らないってことだよな?
>>588 のレシピの最初の奴とおまいのとを穴が開くほど見比べてみ。
>>588 はあれじゃ2回目でlockされないんじゃないかと思ったり。
直して、後、|ルールの方に念の為-eを付けといた版。
:0 HB:
* ? nkf -Zme | kakasi -w | bogofilter -u -l
$SPAM
:0 HB
* ! ? spamc -c
{
:0cw
| nkf -Zme | kakasi -w | bogofilter -Ns -l -e
:0:
$SPAM
}
>>594 どっかにフィルタの評価があったりするのかな?
今日の成果は53通受けた中、SPAMが33通。うちmboxに届いたSPAM5通。
漏れはミスがあっても即学習し直せる手軽さに惚れた。しかも手間要らず。
今週受けるメイルがどんな感じになるか楽しみだw
>>603 できました。たぶん -e が悪かったんだと思います。
昨日の成果。316通受けた中、142通SPAM。うちmboxに届いたSPAM21通。 6.6%のミスレート。これまで学習したSPAM数491通。spamデーターベース950k。
その後。 一昨日は243通中12通失敗。4.9% 昨日は313通中11通失敗。3.5% goodlistが5.6M、spamlistが2.6M 古いmboxにbogofilter掛けてSPAMだけ抜き出して学習させたので、 spamlistがちょっと成長しました。そろそろ自動学習はやめて、 手動でやってく予定でつ。
あぼーん
>>604 真似てみたけど、ログ見るかぎりspamd側で
判定したやつがbogoでregister-Nsされないみたい
>>588 だと動くには動く
なんでか教えて。
おれなんて goodlist.db 29M spamlist.db 24M 気合い入れすぎた catで繋いだのも悪かったかも
毎回nkfやkakasi通すと遅くなりそうなので :0 HB * ^CONTENT-TYPE: .*ISO-2022-JP.* * ? nkf -m -e | kakasi -w | bogofilter -u -l jaspam/. :0 HB * ? bogofilter -u -l spam/. と日本語のメールだけ通してるのですが、Content-Type調べるだけだと 見逃してしまうこともあって、悩んでます。 なんかいい方法ないすかね?
>>612 その前にnkfやkakasiで本当に遅くなるのか
どうか計ってみれ
ていうか、なんでnkfやkakasiを通す必要があるんだ? 本当に通したほうがいいのかどうか調べてみれ みたいな。
あ、違うな。原理的に通したほうがいいのは明白なので、 本当に通さないと使い物にならないのかどうか調べてみれ ぐらいがいいか。
>>612 俺は全部とおしてる。速度の検証はしてないけど。Spamassassin の頃の遅さ
に比べれば nkf + kakasi してもカワイイもんだ。
とおしてる理由はそちらの方が検出率が上がることはあれど、下がることはな
いだろうとの予想から。これも検証はしてない。
ただ疑問なのは nkf -e してる例が多いこと。俺はこれはやってない。EUC に
変換してなんかメリットある?
kakasiってinput codeは明示しない限りeucを前提にしてるんじゃないの?
>>617 え?? と思って man kakasi したら自動判定してくれるんじゃん。ビクーリした
わ。
subjectとかのmime b-encodingについては?
>>619 nkf は -e 付けてないだけで -m はやってる。念のため man nkf してみると…
ん? -mB にしないと B-encoding は解読してくんないのか? 手元では大丈夫っ
ぽいんだが。
>>620 それ (デフォルトで MIME デコードするかどうか) 、nkf のバージョンによって違うから注意。
漏れは何も通してない。通せば検出率が上がったり、 データーベースサイズが節約できるのだろうけど、 面倒で。 で、現状日々150通くらい届くspamのうち2通くらいが 誤配達されるだけなので、別にこれ以上検出率あがらなくても いいかな状態。 データーベースも3M超えたので自動学習は止めたので、 これ以上サイズが増える予定はない。まぁ誤配達された 物について学習させてるからちょっとは増えるけど。
623 :
名無しさん@お腹いっぱい。 :03/08/04 22:01
自動学習止めるのは -u を外せばいいの?
皆さんspamの処理でパイプ通して色々なプログラムに喰わせてるみたいですが、 普通に振分けたメールをテキスト処理するのはどうしたらいいんでしょうか? つまり、 :0 *^from:.*hoge@fuga inbox/. とかする際にsed,awkをかませたいんです。気持ちとしては | sed 's/foo/bar/g' | inbox/. みたいなアクション。f、cフラグとかでやってみたんですが、どうにも うまくいかんです。例とかにもなさそうなので、質問させて下さい よろしくお願いします
procmail -h
>>626 f はあってる。c は必要ない。{ について調べろ。w W も一応読んどけ。
>>628 お返事ありがとう。何とかできました
:0
*^from:.*hoge@fuga
{
:0 fw
| jsed 's/foo/bar/g'
:0
inbox/.
}
てな感じ。感謝!
携帯メールをPCに残しつつ転送したいのですが、転送されないのですが、
以下のレシビじゃまずいのでしょうか?
サンプルを色々調べましたが、 .の前に\があるものとないものが
ありますが、どちらが正しいのでしょうか?
:0c
* ^From:.*@(jp-.\.ne\.jp|docomo\.ne\.jp|ezweb\.ne\.jp).*
!
[email protected]
>>630 man procmailrc
した?
"." 自体なら、\.
任意の一文字なら、.
>>631 . と \. の違いというか意味はわかっています。
後者がエスケープしているものです。
#それなら必ず\.になるはずなのにWEBで探すと . だけのサンプルが多いと思います。
ちなみに
>>630 のレシビだとなぜがコピーが
[email protected] に送られません。
なぜでしょうか?
部分的に解決しました。 dttermの場合、 dtterm -kshMode とすることで、AltがMetaキーとして認識されるようになりました。
ごめんなさい。誤爆しますた。
dtte
>>632 LOGFILE=$HOME/procmail.log
VERBOSE=yes
>>632 >#それなら必ず\.になるはずなのにWEBで探すと . だけのサンプルが多いと思います。
サンプルが間違い。
.は'.'にもマッチするので、
docomo.ne.jp
は
docomo.ne.jp
にもマッチするが、
docomoane.jp
にもマッチする。
正常系では思ったように動いているのでそれでOKだと思っているんだろうが、
異常系のチェックを怠ってるな。
>>638 でも結構みかけるんだよねえ。全く同意。
どうせ docomoane.jp なんてとこからメールなんて来ないじゃん、 ってノリでは。 \ ない方が読みやすいし。
>>640 どの場面で使うかによるよね。ちなみに漏れの端末では、やっぱり
見やすいという意味で \ は付けていない。すごーくクリティカルな
用途であれば付けるべきだけど、そんな状況では procmail とか
メールヘッダなんか信用しない罠。
常にクリティカルに正規表現を書く癖の無い奴は、思わぬところでハマったりセキュリティホールを作りがち。 それにレシピを後で見た時に意図が分かりにくいし。
>>642 本題とは関係ない、言葉の問題だが、「クリティカル」の用法を間違ってる気がする。
「ストリクトに」とかの方が適切かと。
ていうか、そのぐらい日本語で書けや。
勿体ぶって使ったカタカナ語は豪快に意味を取り違え。これ最強。
あぼーん
あぼーん
ありゃ? ミッションクリティカルみたいなつもりで「クリティカル」を 使ってみたんだけど、もすかすてこれも間違ってる? 漏れは DQN なん でしょうか? ([Yes]/No)
>>648 心配めさるな。
criticalには「重大・重要な」の意味があるから
>>641 は普通。
その言い回しを猿真似して意味不明の文を作った
>>642 がDQN。
641だけですましとけばよかったのに、648みたいな質問をしたのでDQN決定w
>>651 あ、643 が 641 に向けたレスだと見間違えてしまった模様なのです。
まぁいずれにしても勘違いしている時点で DQN ですね。自他共に
認める DQN に認定されますた。
まあお前ら、日本人は日本語でも使ってなさいってこった。
>>630 > * ^From:.*@(jp-.\.ne\.jp|docomo\.ne\.jp|ezweb\.ne\.jp).*
"jp-" ってのも気になるのだけど、とりあえず一番後の ".*" はいらないかも
# 遅すぎ?
655 :
名無しさん@お腹いっぱい。 :03/08/22 18:07
% grep seconds /var/log/maillog | cut -d' ' -f12 |sort |uniq -c |sort -r |head 56 31.5 56 31.4 44 31.6 37 31.7 37 31.3 23 31.8 23 30.7 20 31.2 18 30.6 16 31.0 % zgrep seconds /var/log/maillog.0.gz | cut -d' ' -f12 |sort |uniq -c |sort -r |head 43 1.6 38 1.7 31 1.8 25 1.9 25 1.5 21 2.1 20 2.2 19 2.5 19 2.0 18 2.7 SpamAssassin の最近の log と、ちょっと前の log を比べてみましたが 明らかに時間がかかるようになってしまっています。 何が原因なのでしょうか?
>>655 bayes_* なファイルが巨大になってきてんじゃないの?
657 :
名無しさん@お腹いっぱい。 :03/08/22 21:09
>>655 そういう話じゃないだろ
(分かってるくせに)
s/655/656/--;
Microsoft Digital Image PRO 9の宣伝メールがspamassassinでスコア5.9で SPAMと判断されてた。をやと思って見てみたら、 WEIRD_QUOTING (1.9 points) BODY: Weird repeated double-quotation marks in body HTML_40_50 (0.7 points) BODY: Message is 40% to 50% HTML HTML_IMAGE_AREA_08 (2.9 points) BODY: HTML has 8-9 kilopixels of images という具合。HTMLメールで大きなイメージがあると途端にSPAMと判断されるように なるなぁ。
>>658 いじわるしないで教えて下さい。
お願いします。
700 通のメールを処理をするのに 5 時間もかかりました。 どなたか教えて下さい。
>>662 relays.osirusoft.com への問い合わせを行なわない設定にするといいらしい
ぞ。
664 :
名無しさん@お腹いっぱい。 :03/09/09 16:04
>>663 ていうか、その鯖って先月運用停止したんで
どっちにせよ設定から外さないとsaが誤動作
するってウワサ。
で、その外し方ってのがわからないのよ(w
>>664 Plamo-ML からのウケウリだが、/etc/mail/spamassassin/local.cf に
skip_rbl_checks 1 だそうだ。ただこれでも遅いってな報告もあり。俺はもう
使ってないのでよくわからん。
ローカルにdnscacheは有る?
ありがとうございました。
skip_rbl_checks 1 で改善しました。
>>666 僕へのレスでしょうか? dns は動かしていないので
たぶんないと思います。
rblチェックするなら…… まぁLANのどっかにあればいいんだけど。 キャッシュサイズの調整とか、いろいろな管理のしやすさで、smtpサーバーにDNSキャッシュを入れるのはお勧めだよ。
fetchmailやらprocmailって大きすぎないか? どうせ全ての機能使わないしrubyなりで同じことやらせれば 数十行ですみそうだ
>>670 いや、今少し書いて実験中だけど
なんとかなりそう。50行にはならないっぽい
.procmail互換書式?
せっかくだから起動するとこからベンチしてくれると助かる
>>672 いや、APOPでメール取ってきてspamフィルターに見せて
その後メーリングリストごとに分けるだけ。互換も何もない
設定ファイルもない、スクリプト内部に全部直書き
bsfilterの独自版?
どう考えても数十行の Ruby の方が重そうな気がするのだが、 漏れの頭の方がおかしいのか?
procmailみたいなコードも仕様も汚い物は使いたくないというのなら、気持ちは分かる。 大きいとか、重いとかは、分からん。 fetchmailについても、よく分からん。
>674 その程度ならイマドキ簡単に出来るだろうけど, エラーが起きたりしたときの処置をちゃんと面倒みようと 思ったら結構大変でしょ.
-rwxr-xr-x 1 root root 121528 Oct 13 2002 /usr/local/bin/procmail -rwxr-xr-x 1 root other 632764 Jul 28 22:27 /usr/local/bin/ruby
680は根本的にわかってないな
-rwsr-sr-x 1 root mail 74420 4 4 19:10 /usr/local/bin/procmail -rwxr-xr-x 2 root wheel 3132 12 26 2002 /usr/local/bin/ruby
s/680/681/
他人を騙るアホが出てきた
685 :
名無しさん@お腹いっぱい。 :03/09/14 18:11
fetchmail の話なのですが procmail と同時に 使う事も多いのでここで質問させてもらいます。 fetchmail で imap 上の mail を fetch したいのでが inbox folder の中だけの mail しか fetch してくれません。 他の folder も fetch したくて man を読んだら -r <name> | --folder <name> (Keyword: folder[s]) Causes a specified non-default mail folder on the mailserver (or comma-separated list of folders) to be retrieved. The syntax of the folder name is server-dependent. This option is not available under POP3, ETRN, or ODMR. こんなのがありました。 test という folder の中の mail を fetch するに ~/.fetchmailrc に poll mailserver.jp proto imap name test user fuga pass hoge こうやってみたのですが、 fetchmai の起動時に % fetchmail fetchmail:/home/fuga/.fetchmailrc:12: parse error at name と怒られてしました。 (12 行目は pop 〜の部分です。) どうすればいいのか教えて下さい。
nameじゃなくて、folderって書くんじゃないの? testでダメだったら、inbox.testかも?
>>686 そでした。 name じゃ変ですよね。
そんで、folder でやったらできました。
ありがとう。
bogofilterオンリー。学習は終了させており、 goodが6M、badが3M程度なので、実行も別に 重くないと思われ。 8年位使ってるメアドなので、SPAMも週に1000通くらい来る。 そのうち10通程度が誤配送される程度。 もうbogofilter無しには生きていけません。
:0B: * name=[^ ]*\.exe .spam/ exe添付する奴はぜんぶポイだ。
>690 気持ちは分かるしやりたいのも山々だけど, "exe添付" を判断するには MIME 解析してヘッダ部分に対してのみ ルール適用をしないと,spam 対策議論がメールで出来なくなっちゃうよ.
>>690 せめて、マルチパートメッセージかどうか確かめてからにした方がいいかもね。
>>690-692 (
http://www.jaist.ac.jp/~fjt/procmail.html#VIRUS より)
# author: Philip Guenther modified by Sergiy Zhuk
EXT = '\.(scr|vbs|shs|bat|com|exe|pif)'
WS = '[ ]*($[ ]+)*'
DOTSTAR = '.*($[ ].*)*'
DQ = '"'
:0 B
* $ ^Content-(Type|Disposition)*:${DOTSTAR}name${WS}=${WS}${DQ}.*${EXT}${DQ}
/dev/null
>>688 上記のレシピをfilterの前に置く、ってやっても帯域使われる
のにはウンザリ。最近は一日に30〜50通も来るよ(;´Д`)
ISPとかのメール鯖側でなんとかしてくれないもんかねぇ。
あたいの使っている有料メールサービスはprocmailに対応しているからメールサーバ上でやっちゃってるYO! かなり満足。
:0:の最後の方の:は、ファイルに書き出す時にロックするっていうオプション。 :0: * ^X-Bogosity: Yes Spam なんて具合にチェックした後でファイルに吐く時は:が必要。 :0 * ^X-Bogosity: Yes { ... } なんて具合になんかまとめて処理する場合は必要ない。 ただ、そのページの例だと{}の中で最後にファイルに吐き出してるので、 :0 ←:要らず * ^X-Bogosity: Yes { :0cw | /usr/bin/bogofilter -S :0: ←:が要る Spam } じゃないかと思うのだが。
あと、最初にbogofilterで認識&自動学習やってるから、 spamassasinチェックに引っかかった時にやる2回目の 再学習では最初の学習を訂正しろよ。と思った。 しかしよく見てみるとbogofilter -Sってなんだよ。 逆だろ。bogofilter -Nsって書かないとダメじゃん。と思った。
>>698 さんくす。
ファイルの書き込みが発生する時に : をつけるって認識でいいかな?
>>699 あ、そこは俺も変だと思って直した。
ようやく swen をしこしこ消す作業から開放されて嬉しい。
>ファイルの書き込みが発生する時に : をつけるって認識でいいかな? うん。そんな感じ。
702 :
名無しさん@お腹いっぱい。 :03/09/26 19:18
>>697 どうやってIMAP上の.fetchmailrcを編集するの?
703 :
名無しさん@お腹いっぱい。 :03/10/04 22:25
procmail で携帯へ転送する時、携帯の方で受信者を
限定している場合、どんなレシピを使ってますか?
5日くらい夜な夜な考えた結果、自分は、こんな風にしてます。
:0
* ^
[email protected] {
FWFROM=`formail -xFrom: | nkf -e`
FWSUBJECT=`formail -xSubject: | nkf -e`
FWTO=`formail -xTo: | nkf -e`
:0 bc
| ( echo "From:$FWFROM";\
echo "Subject:$FWSUBJECT";\
echo "To:$FWTO";\
echo ""; nkf -e ) | head -c 8000 |\
mutt -x -s "$FWSUBJECT" 携帯のアドレス
:0
$HOME/Maildir/
}
>>704 うちは mobileimap 使ってるけど、メールが来たことがわからんので
やっぱり携帯のアドレスに転送してる。
706 :
名無しさん@お腹いっぱい。 :03/10/17 17:50
procmail最近はじめた初心者っす。 or条件で検索する方法教えてください。 :0 HB * aaaa * bbbb * cccc /dev/null これだと、and条件で検索されちまうと思うんだけど、 or条件での検索仕方教えてくださいますか。
>>707 レスども。
>素直にバラして書くんじゃダメなん?
方法がなきゃ、諦めてそうするんだけど。
いま、
:0 HB
* ? nkf -me | grep -e '西川.*ヘレン'
{
:0 f
|$MYMAILBOX/yasushi.pl
:0 f
|$MYMAILBOX/kiyoshi.pl
:0 hb
[email protected] }
これをずらずら書いていてて。
これ、まとめられないかなぁ〜と思って。
>>706 > :0 HB
> * aaaa
> * bbbb
> * cccc
> /dev/null
:0 HB
* aaaa|bbbb|cccc
/dev/null
>>706 このスレでも何度か出てますが、or 条件は素直に並べた方がよさそうです。
procmail で or 条件は書きにくいと思います。
あるいは、 nkf | grep をズラズラ並べて判定するものを
ひとつのコマンドにまとめてしまうという手もあるかと。
:0 HB
* ? talks_about_nishikawa_family.pl
{
...
}
>>709 >>708 を見ると、それではまずいような。
>>708 みたいにgrepしてるんだったら
* ? nkf -me | egrep -e '西川.*ヘレン' -e 'ほかの誰か' -e ...
でいいんじゃなかろうか。egrepにしたのは
そっちのほうが速いからね。grepしか日本語対応
してなかったりするならgrepでどうぞ。
MAILDIR=$HOME/Maildir :0 * ^x-ml-name: \/.* ."$MATCH"/ :0 * ^mailing-list: contact \/.*-help@ ."`echo $MATCH | sed -e s/-help@//`"/ :0 * ^(errors-to|sender): owner-\/[^@]+ ."$MATCH"/ :0 * ^(errors-to|sender): \/.*-(admin|owner)@ ."`echo $MATCH | sed -e 's/-\(owner\|admin\)@//'`"/
無言でこんなん張る奴ってキモいな…
そもそも procmail 自体がキモいのでしかたがありません
>>714 この前Maildirでファイルを作るときにマイクロ秒やinode番号まで含んだ名前を
つけることを画策してソースコード読んだらすごく読みづらかった。
だからprocmail自体が気持ち悪いという意見はわからなくは無いね。
Courier-IMAPのコードを読んだあとだからなおさらそう感じたのかも知れんけれど。
procmailでMaildir形式で、既読として振分けることはできますか?
mv ${filename} ${filename},S すりゃいいんじゃないの?
procmailrcで実現する方法知りたいんじゃないの?
できないからそういうレスしかつかないんじゃないの?
procmail がやることではないのでは。
>>722 そんな機能は無いと思われる。
そういうのがほしかったらperlとかrubyとかで自分で作れば?
ないですか。scoringを駆使して、既読用ディレクトリに振り分けて DUMMYな変数でmvすることにします。ありがとうございました。 とは言ったものの、scoringはイマイチわからないんだよね。
もれが言いたかったのは pipeを使って流し込むと指定したディレクトリにMaildir形式のファイルを作ってくれる ようなものを作ればいいということね。
これ、よくわからないのだけど解説してくれない? # ボゴフィルターが実行に失敗したら再試行する。 :0e { EXITCODE=75 HOST }
調べてきた。
>>729 親プロセスは75が返ってくるとメールをqueueに戻して再試行するので、
procmailをEXITCODE=75で即座に終了させたい。
ところがprocmailには「はいここで終了」というコマンドがない。
が、HOSTが実際のhostnameと異なる値だと即座に終了する。
これを利用してHOSTに変な値を設定し、無理矢理終了させている。
{ EXITCODE=75 HOST=bizarrevalue }
と書けばわかりやすい。ただ単に変数名を単独で書くと空になるようだ。
結論: procmailが変態なのはわかっていたよ。わかってはいたんだ。
> ところがprocmailには「はいここで終了」というコマンドがない。 > が、HOSTが実際のhostnameと異なる値だと即座に終了する。 > これを利用してHOSTに変な値を設定し、無理矢理終了させている。 漏れ、なんでいまだに procmail なんか使ってんだろ・・・(⊃д`)
maildrop使えば? もれは最近procmailからmaildropに逃げた。 終了させるのにはexitがあるし。
procmailrcでTo:ヘッダがないという条件はどう書けばつか?
>>733 俺は
>>732 ではないが、
maildrop の日本語の資料が少なくて
二の足を踏んでいる。
やっぱみんな procmail なのか?
bogofilter って Gnus の spam-stat の (spam-stat-reduce-size) みたいな 機能ってないのかな? spam-stat-reduce-size is an interactive compiled Lisp function in `spam-stat'. (spam-stat-reduce-size &optional COUNT) Reduce the size of `spam-stat'. This removes all words that occur less than COUNT from the dictionary. COUNT defaults to 5 [back]
>736 maildrop に乗り換えたよ. 特に意味はないんだけど,見れば分かる設定ファイルっていうのはいいね. (もっとも,maildrop なんだから .maildroprc とかいう名前の方が 納得が行くけど... なんで .mailfilter やねん...)
bsfilterを削って使ってる 9KB位になった。判定精度はひょっとすると最新のより高い category分類しない方がミスしにくい模様
>>736 確かに日本語の資料は少ないけれど
maildropを開発しているところのページの英語はさほど難しいわけでもないので
気合を入れて読めば読めるかと。
翻訳サイトによる翻訳だとmaildropとかhomeとかが変に訳されてわけわからなくなるね。
日本語の資料が無いからprocmailにみんな走るというのはわかる気がする。
自分がprocmailを昔使ったときはそういう理由だったし。
文法はそんなに難しくなくって、たとえば次のような書き換えでいける。
- procmail
:0
* ^List-Id: FreeBSD.announce
FreeBSDannounce
- maildrop
if (/^List-Id: FreeBSD.announce/)
{
to "FreeBSDannounce"
}
K&R風で書けないのはきついけれどネストさせたりand条件でしぼったりもできる。
>>742 私は procmail から Gnus に乗りかえました。
>>738 >>742 俺もちょっとがんばって移行してみるよ。
うまいこといけたら Web にでも上げてみるか。
bsfilterをkakasiとgdbmで使用しているよ。 1日50通ぐらいgeocities.co.jpのアドレスに来るspamが、99%は振り分けできている。
>>743 ということは受け取ってから分類してるって感じなのかな。
>>744 がんがれ。
誰かがドキュメント書かんと英語を毛嫌いしている日本人は使おうとしないからね。
...自分も時間があると書こうかな。
>>745 宣伝?
Ruby遅くない?
>>746 > ということは受け取ってから分類してるって感じなのかな。
Gnus だとそうだね。でも Gnus の振り分け書式も結構変態的だったりw
俺は imap にした際に Gnus → procmail にした。
maildrop にも心魅かれるんだが移行がマンドクセー。maildrop の英語ドキュメン
ト読むより、現状の .procmail を解析するほうに手間かかりそうな悪寒(⊃д`)
なんか、昨日あたりからspamassassinをかいくぐるSPAMが急増してきたような。 一晩明けたらINBOXにspamが20通なんて状態、久しぶり。
なんか、ある時点からspamdが発狂していただけの模様。spamdを restartしたらなおりました。
>>746 > ということは受け取ってから分類してるって感じなのかな。
そう。もし rule を書換えても、# で mark して B r で再振り分けとか出来て
かなり幸せ。
>>747 たしかにprocmailrcって文法が怪しいからね。
さらにソースコードを見たらよくこんなので動くなと恐怖を感じるけれど。
>>750 なるほど。
Mew使ってたころにM-oでそんなことをしていたような...
Sylpheedで作った振り分けルールを半自動で.mailfilterに反映してくれるソフトがあるとうれしそう。
ところでprocmailとかmaildropとかrubyfilterとか使ってる人ってIMAPユーザーなんですかね。
.procmailrc で bogofilter の実行後にこれを追加した。 :0e { EXITCODE=75 HOST } しばらくいい感じで動いていたのだが、 やけにキューにたまる数が増えてきたので procmail.log 見たら bogofilter: (db) db_get_dbvalue( 'XXX' ), err: 5, Input/output error こんなの連発。 DB 壊れてる? エラーで帰っちゃったメールありそうだな...。 鬱。
バージョンいくつ?
>>753 俺のことかな?
今使ってるのは 0.15.7 です。
DB は最初 0.15.4 でつくったもの。
今は 0.15.7 で DB 作り直して様子見。
今のところ大丈夫そうだ。
現在qmail+tcpserver+vpopmail+checkpassword+pbs4q+ezmlm +autoresponse+qmailadmin+procmail+spamassassin+sqwebmailでメールサーバーを構築しています。 スパムをそろそろ何とかしてくれといわれてprocmail+spamassassinに取り組みました。 質問ですが通常のprocmailからのspamassassinnの起動ではなく :0fw | /usr/bin/spamassassin spamcを使って高速処理をしたいのですが :0fw | /usr/bin/spamc どこにある設定ファイルを読みにいっているのでしょうか? あるサイトで高速処理を行う為spamcでの処理は個人設定を読みに行かないということは分かったのですが。 /etc/mail/spamassassin/local.cf のlocal.cfだと思い設定を書いても反応せず。 普段は/home/vpopmail/domains/2ch.co.jp/2chusrの場所に .spamassassin/user_prefs .qmail .procmailrc という形で処理をしています。 ユーザー数が100人と多くwhitelistやblacklistを追加するたびに 全ユーザーの.spamassassin/user_prefsを書き換えるのは時間がかかりすぎる為何とかしたいのですが・・・ まだ全ユーザーの設定が終わっていませんがspamcを使わないと処理が遅くなってきました 分かる方いらっしゃいましたら助言よろしくお願いします。
spamdのマニュアルをご覧になってはいかがですか
>>754 面倒くさいけれどバージョンあげるときにDB作り直したが良くない?
もれはそのためにこれまで受け取ったUBEを保存してある。
UBEって同じ内容が多いので圧縮したときにかなり小さくなるしね。
>>757 やっぱそうかな。
うちも SPAM はかなり保存してある。
UBE って何かいなと思ってぐぐったら
宇部興産とか宇部市とか...。(^^;
Unsolicited Bulk E-mail ね。
PostfixユーザーなのでUCEという言葉が結構ぴんと来る。
でも、ゴミ箱に直行したくなるメールは商用のものとは限らないので
もっと一般的な名称であるUBEを使うことにしてる。
ちなみにUBEもUCEもJargon Dictionary(
http://info.astrian.net/jargon/ )に載ってる。
保守
761 :
名無しさん@お腹いっぱい。 :03/12/16 09:51
スパムメールをはじくため、見本を見ながら初めて.procmailrcのレシピを書いてるのですが 「条件にひっかからなかったメール(スパムとみなされなかったメール)は 自分自身のメールボックスに残した上で他のメールアドレス(2ヶ所)にも転送する」 ということをしたいのですが、どうもうまくいきません。 DEFAULT=に転送先メールアドレスを書いても、転送先メールアドレスと同じ名前のファイルが 作成されてしまい、そこに保存されてしまうようです。 どのようにレシピを書いたらよいのでしょうか?
>>761 DEFAULT には mailbox file しか書けないような。
すべてのメールに match するレシピを最後に書けば?
>>762 回答有難うございます。
んー やっぱりそうやってくしかないですかねー
>>763 多分それしかないと思う。
そういうデザインがいやなら他の振り分けソフトを使うことになるけれど、
日本語で書かれた資料が一番多いのはprocmailなので。
大方こんなレシピだろうな。
:0c:
*
転送先についての記述
余談だけどmaildropだとこんな感じ。
cc "転送先記述"
to "通常送信先記述"
>>764 ご教授ありがとうございます。
結局procmailで対処することにしました。
:0 H
* .*
{
:0 c:
mailbox file
:0:
! 転送先アドレス1,転送先アドレス2
}
以上のようなレシピを.procmailrcの最後に入れてみました。
>>765 最初の H フラグと条件は要らないっしょ。転送時のロックも要らなくね?
ま、細かいことなんだけど。
procmail+spamassassinでスパムと判定されたサブジェクトにSPAMと入れたいのですが 過去ログ(520)辺りにあるのに似せてやってもまったく反応せず困っています。 >:0fhw >* ^X-SpamProbe: SPAM.* >| formail -i "Subject: ***SPAM***" ↓それを変更してこんな感じに書いてます↓ :0: *^X-Spam-Status: Yes | formail -i "Subject: ***SPAM***" formail自体/usr/bin/formailにあるので | /usr/bin/formail -i "Subject: ***SPAM***" と書き換えてみましたが反応せず。 formailはprocmailをインストールした時に一緒に入ってきたようですが・・・ formailが反応していないのか命令文が見当はずれなのか ご助言お願いします。 余談ですが.procmailrcで転送設定をするとQmailAdminの転送設定が壊れませんか? QmailAdminでパスワードを変えるたびに .procmailrcを開いて修正しないといけないのがちょっと ユーザーにはパスワード変更を自由にさせないようにすればいいだけですが
spamassasinがサブジェクト変更するような設定がなかったっけか。
>>768 昔のverだとそれがデフォルトだったっけ。今でも設定があるんじゃないかな。
もう使ってないのでわからんけど。
>>766 あ、条件は別に書かなくてもいいんですね。直しました。
ご指摘ありがとうございます。
>>769 みたいですね、調べたら自動ではいるみたいなのがHPに記述があったので
本家サイトで今のバージョンでできるか調べて見ます
772 :
名無しさん@お腹いっぱい。 :03/12/22 21:10
procmailを使ってみようかと調べてみると、 メールをprocmailにパイプで渡すには、~/.forwardに "|IFS=' ' && exec /usr/local/bin/procmail -f- || exit 75 #user" (userはユーザ名)と書けとあります。 この最初の「IFS=' '」の必要性と、最後の「#user」が何をやっているのかについて、 教えていただけないでしょうか?
>>773 んなこたあないでしょ。
漏れは後半の方の理由しか知らんけど。
昔初めてインストールした時に調べて理解したと思ったがすっかり忘れてるな。 よっぽどくだらない理由だったんだろう。
>>772 > "|IFS=' ' && exec /usr/local/bin/procmail -f- || exit 75 #user"
> (userはユーザ名)と書けとあります。
そのドキュメントが腐っているのだと思われ。
>>776 まあ procmail のドキュメントやサンプルが腐ってると言えないこともないがな。
% cat ./procmail-3.22/examples/forward
"|IFS=' ' && p=/usr/local/bin/procmail && test -f $p && exec $p -Yf- || exit 75#YOUR_LOGIN_NAME"
%
exit 75 は意味は分かるのですが "#user" という部分は自分のものを見たら 書いていませんでした。コメントだと思ってたんですがなんか意味あるんですか?
>>778 sendmail のためのバッドノウハウ。
sendmail はローカル配信する際、同じ配送先に多重に配信しないように、
/etc/aliases や ~/.forward を展開した後の配送先リストを uniq してるんだけど、
複数のアカウントで "| procmail" としてると、
みんな同じ配送先 ("| procmail") とみなしてしまうので、uniq すると、
あるだれかひとりだけ (の "| procmail") にしか配送しなくなっちゃう。
"| procmail #user" としてやると、"user" の部分はみんな違うはずなので、
uniq しても異なる配送先とみなされるのでちゃんと全員に配信されるようになる。
781 :
名無しさん@お腹いっぱい。 :04/01/22 21:06
bogofilter-0.16.3なんだけど、~/.bogofilter.cfで指定している bogofilter_dir=/var/tmp/mona/bogofilterのファイルを読みに行かない or 読みには行くが最終的には~/.bogofilterを読みに行って、ファイル類が無いと怒る。 -dやBOGOFILTER_DIRの指定はちゃんと読む。ちょっと困り気味。
今日までずっと「プロシーメール」って呼んでたよ。。。 「プロックメール」なのね・・・
今日までずっと「純子メール」って呼(ry
「純子フィルター」だたのにー。駄レス2つも並べてスマソ逝
「procmail&spamassassin」を導入しようとしたのですが、 procmailのログには procmail: Executing "/usr/local/bin/spamc" とあるものの、 X-Spam-Status:のヘッダがつきません。 なぜなのでしょうか? FreeBSDで、procmailはportから。spamassassinはソースからインストールしました。
言い忘れましたが、 ps -auxで、「/usr/local/bin/spamd -d」があることを確認済みです
振り分けにscmail入れていて、そろそろスパムフィルタのscbayes入れようと思ったら もうすぐscmailと統合されるらしい。ちょっとタイミング悪かった。 spamはまだ1日25通くらいだから手動でいいかな
>>746 すっげー遅レスなわけだが。
まぁ maildrop へ移行するのはできた。
だが Web にあげるほどのものが書けそうにない...。
「うちの .mailfilter はこんなです」
終了〜。
このレベルなら結構あるもんな...。
とほほほ。
>>788 そういうのをさらしていくのが大事かと。
初めて何かを使うときは先人のやりかたをまねするところからはじめるしね。
先ず隗より始めよということでもれのをさらしてみるか。
MAILDIR="$HOME/Maildir/"
DEFAULT=$MAILDIR
MAILDROP="$HOME/.maildrop/"
BOGOFILTER="/usr/local/bin/bogofilter"
BOGOFILTER_OPTION="-u -e -p"
logfile "${MAILDROP}maildrop.log"
# Bogofilter
xfilter "$BOGOFILTER $BOGOFILTER_OPTION"
if (/^X-Bogosity: Yes, tests=bogofilter/:h)
{
to "$MAILDIR.spam-bogofilter/"
}
792 :
名無しさん@お腹いっぱい。 :04/02/02 09:53
あの、ちょっとお聞きしたいのですが、 fetchmailリモートから受信し、MDAをsendmailとして mda "/usr/sbin/sendmail -oem -t" とローカルにて再配送しているのですが、 このときに、ccなどの複数のあて先に行かないようにする方法ないでしょうか。 多重配信してしまって悩んでいるのです。
>>792 何故 MDA を sendmail にする?
普通 mail.local とか procmail とかにしないか?
>>789 そうだな。
恥ずかしながらさらしてみる。
MAILDIR="$HOME/Maildir"
DEFAULT="$MAILDIR"
SENDMAIL="/var/qmail/bin/qmail-inject"
logfile "$HOME/maildrop.log"
xfilter "bogofilter -p -u -e"
if ( /^X-Bogosity: Yes/ )
{
to "$MAILDIR/.spam"
}
続き
xfilter "spamc"
if ( /^X-Spam-Status: Yes/ )
{
cc "|bogofilter -N -s"
to "$MAILDIR/.spam"
}
cc "
[email protected] "
・はまった点
$DEFAULT を指定しないと /var/spool/hoge に配送される。
あとは qmail 使ってるので $SENDMAIL 指定した。
ヘンなところあったら指摘してくれるとうれしい。
> "sendmail -oem -t" のような、To/Cc/Bcc の > 内容宛にメールを発送する MDA の呼び出しを用いてはいけません。 こ > れをするとメールのループが発生し、あなたが大勢の postmaster から > 大目玉を食らうことになります。
>>791 う〜む。procmailに比べると感動的に書式が綺麗だなぁ。
>>795 ご協力感謝します。
変というわけではないけれど、if文では:hをつけてヘッダーのみマッチにしたほうがよいかもしれないですね。
>>797 CとかJavaとかのような言語を常用している人にはかなり親しみやすいと思います。
ただ、if文の書式が旧BSD styleでないと受け付けてもらえないというのはちょっとなじめないかもしれません。
>>798 添削さんくす。
さっそく修正した。
procmail のときはレシピに DEFAULT=... に相当する定義がなくても
~/Maildir 以下に配送されてたんだが、MAILDIR が定義されていれば
そっちに配送するってことなんだろか。
まぁ今となってはどっちでもいいといえばどっちでもいいんだが。
ずーっとprocmail+spamassassin使ってきたんだが 長期間動かしているとディスク食い尽くしてしまうようになった シェルが上げられなくなって.historyが増える増えるよわかめちゃん 最終的に1.5GBまで膨らんでた>.history なもんでnkf+kaksi+bogofilterに変えてみた うまくいくかしらん??
なぜ .history が増えるのか謎
.history に配送してるんだろ。
803 :
名無しさん@お腹いっぱい。 :04/02/10 13:04
qmail にprocmailを導入したのですが、procmailのログで表示される時間がGMT表記になってしまいます。
理由分かりますか?
ちなみにqmailのローカルタイムパッチは、導入済みです。
From
[email protected] Tue Feb 10 02:59:42 2004
Subject: test
Folder: /home/user/Maildir/new/1076381982.15958_0.host 380
>>804 おお!! 3日悩んだのですが良く分からなくて...
時間表記をJSTに変更したいのですが、やり方を教えてください。
>>801 見たらなんかエラーみたいのが延々吐き出されてた
なんかエラーみたいのって言われてもなぁ。
引数なしでdateとうった結果とかLANG,LC_*の値とかをさらしてもらわんとわからん。 qmailの問題ではないと思われ。 ...maildropのソースは読む気になれるけれど、procmailは読む気になれんなぁ。
やーごめんなさい 消してしまったからもう確認不能なのよ 再現したらメモでも取っとくね で今のところ問題無し、bogofilter軽いし速いし快調快調 過去の経験からして、もし症状再現するとしたら数カ月くらい先かな
>>811 は?
mbox(5)
| The delivery date in a From_ line does not specify a time
| zone. qmail-local always creates the delivery date in GMT
| so that mbox files can be safely transported from one time
| zone to another.
>>811 そうすると、qmailでprocmailを使っている人は、みんな同じ現象?
webでいろいろ検索しましたが、この件に関して情報が出てなかったので、私だけのトラブルかと思っていました。
>>808 いまさらですが、redhat9です
# date
2004年 2月 11日 水曜日 16:09:43 JST
# cat /etc/sysconfig/i18n
LANG="ja_JP.eucJP"
SUPPORTED="ja_JP.eucJP:ja_JP:ja"
# cat /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=false
ARC=false
なにか良い対応策あったら教えてください。
>>814 英語は得意ではないですが...
qmailのローカル配送の仕様ということで理解しました。
>>812 =
>>814 OSなに使ってるの?
manってOSごとに入っているメッセージや出てくるメッセージが違うって知ってて言ってるの?
それとも単なる知ったかぶり?
あるいはqmailかprocmail入れるとmbox(5)が自動ではいるのか?
iccでspamprobe-0.9hをコムパイルしたらsp_wordsが壊れますた。 DBが壊れると問答無用で刺さるから困るなあ。queue溜まりまくり。
釣りはもういいよ。放置でおながいします
>>815 > qmailのローカル配送の仕様ということで理解しました。
まるで理解できていません。
mbox の仕様です。
>>816 > OSなに使ってるの?
Solaris 10
> manってOSごとに入っているメッセージや出てくるメッセージが違うって知ってて言ってるの?
しってる?
> それとも単なる知ったかぶり?
は?
> あるいはqmailかprocmail入れるとmbox(5)が自動ではいるのか?
qmail
すみません。 HTMLメールをカットしてプレーンテキストだけを 転送するようにするには、どうレシピを書いたらよいのでしょうか? 携帯用に転送レシピ考えているのですが。 よろしくお願いします。
自分の好きな言語でフィルタリング書いて転送しろ。 全部教えてくんは来なくていいよ。
そうですよね・・・ HTMLメールを破棄する方法はわかったていたのですが、HTMLで送ってくる人が 増えてきたのでマルチパートをプレーンテキストに変換する必要があるのかと いろいろ考えて途方にくれてまして。
みんな増井さんのLensは使ってみた?
altanative??
しばらく bogofilter + spamassassin の二段構えでやってきたが、 bogofilter が鍛えられて spamassassin が不要な状態になってきた。 bogofilter が spam を取りこぼして spamassassin でチェックが かかることはほぼなくなった。 spamd がけっこうメモリ食ってるので外せると少し嬉しい。
俺は bogofilter 単独にしてたけど、逆に spamassassin も再導入してみた。 bogo でクロのメールのみ sa にかけてそれでもなおクロだったら直接 /dev/null に落とそうと思って。spamd 使ってないからリソースも気にならな いし。
bogofilterというと最近コードを洗練してるね。 もれはbogofilterのみで使ってるけど、 データが極端なのかspamじゃないのにspamと間違えて判定したことは無いな。
831 :
名無しさん@お腹いっぱい。 :04/02/16 23:50
携帯板で聞いてみたのですがレス付かないのでこちらに引っ越します。 メールを自家鯖に集めて、procmailで携帯に転送するようにしています。 端末がvoda,H"なら問題なく転送できるのですが auのezweb.ne.jpだけ鯖で 蹴られてしまうようです。 auの迷惑メール対策ではないかと想像するのですが、対策をご存知ないでしょうか? 端末のメールフィルタの設定はゆるゆるにしてます。 アドレスフィルタ:全受信 なりすまし規制:規制しない
>>831 バックボーンDIONの自家サーバーだけど、何の問題も無く届くけど。
これは該当のMTAスレに聴いた方がよくない?
>>831 ISPとかのSMTP鯖を経由させるのは駄目か?
とりあえず、メイルサーバ内でローカルなdnsblを動かして拒絶。 そこすり抜けたのをsendmailのmilter APIからbogofilter呼んで拒絶。 お蔭で会社にSPAMが届くことはほぼ無くなりました。 dnsblで弾くのが一日20000セッション。bogofilterで弾くのは1000通ぐらいで それは自動でIP抽出してdns登録してます。 ビジネスのメールがSPAMに埋もれて、仕事に支障が出始めてたので 社長賞3万円もらいました。
>>831 スレ違い。
使ってるMTAのスレか自宅さば板で聞け。
836 :
名無しさん@お腹いっぱい。 :04/02/17 00:59
>>832-835 レスありがdございます。
MTAにはpostfix使ってます。
>833 の方法で解決できるらしいことが分かりましたが、やりかたが分からない
のでこれからぐぐってきます。
直ったので一応報告を。 postfix の main.cf に次の1行を足しました。 relayhost = [ISPのSMTP鯖名] うちはDDNSなんで、DNS の正引きと逆引きが一致しなくてau鯖で蹴られてた ようです。
>839 うちもDDNSだけどね!普通にAUに送れるんだけどさ。
おれは yample を使ってる。書式が簡単で気に入ってる。
>834 仕事用に bogofilter 使って大丈夫? 別に bogofilter を信じてないわけじゃない(個人では使ってる)けど 原理的に確率に基づいて跳ねるため, 一般論としては仕事用には使いづらいと思ってます. なにかその辺りに関して対策とか初期学習データをどうしているとか あったら教えてください.
>>842 ハニーポットを仕掛けて収集したSPAMで学習して作った
spamlist.dbと、問題ないメールから作ったgoodlistがこんなのです。
1,638,400 goodlist.db
4,816,896 spamlist.db
んで、これをもとにmilter API経由でbogofilterに渡して戻り値が0
だったら一旦DB登録して一時エラーを返してます。んで、SPAM
は一時エラーに対して再送してこない場合が多いので、ある一定時間
たっても再送してこなかった場合はDNSのブラックリストに登録してます。
再送された場合は正しいメールと判断してホワイトリストに入れています。
DNSで拒絶したログはcronで一時間おきにチェックして、MXからのメールを
拒絶していた場合は手動でDNSを更新しています(これはめんどくさい)
スパムのトラヒックが仕事のメールの10倍から20倍まで膨らんでしまい、
正常な営業業務に支障が出てましたから、ある程度の危険はトレードオフ
ってことですよね。
milterAPIってなに?
sendmail方面で調べてみ
846 :
名無しさん@お腹いっぱい。 :04/02/20 22:44
maildropで xfilter "nkf -Zme | kakasi -w |bogofilter -u -e -p" とやってんだけど、ブチブチのメールがメールボックスに入るんだ みんな、そのまんまで我慢して使ってるの?
847 :
名無しさん@お腹いっぱい。 :04/02/20 22:49
maildrop でさ xfilter "nkf -Zme | kakasi -w |bogofilter -u -e -p" とすると、メールボックスのメールがブチブチなんだけど みんな、処理なしでそのまんまか?
849 :
名無しさん@お腹いっぱい。 :04/02/21 13:25
>>848 ありがとう
取りあえず nkf,kakasiは止めることしよう
xfilterを使わないでbogofilterに渡すというと…[求]サンプル
bogofilter+kakasiもチャレンジしました。./configure すると、なになに
checking how to link with libdb... -ldb
configure: error:
====================================================================
Cannot link against libdb? Try 'rm config.cache', then re-configure.
If the problem persists, report it to the bogofilter mailing list.
Remember to include your config.log.
====================================================================
なんじゃこりゃ… わかんねー
あっしには手に負えないや
>>849 英語が読めない人? libdbってわかる? sleepycat.comでも逝ってくれば?
851 :
名無しさん@お腹いっぱい。 :04/02/21 14:39
>英語が読めない人? 標準的な日本人と自覚、英語力並以下 rm config.cache といってもそんなファイル無いし >libdbってわかる? FreeBSDでportsで適当に… << あやしい、理解してないな >sleepycat.comでも逝ってくれば? 瞬殺… ここでソース拾ってこい? がんばってみっか、TNX!
>>851 BerkeleyDB をいれればOKだよ。
>>849 試してないけどこんなんでいけるんじゃないか?
BOGORESULT=`nkf -Zme|kakasi -w|bogofilter -u -e -p`
if( $BOGORESULT =~ /^X-Bogosity: Yes, tests=bogofilter/ )
{
to "smapbox"
}
bogofilterのresultをとってきてheaderに入れるのにはもう少し工夫が要りそうだけど。
formailに該当する機能はmaildropにあったかな...
>>851 bogofilterどうやって入れたの?
FreeBSD portsを使ってるならBerkeleyDBはすでに入っていると思うけど。
もしportsで入れたなら/usr/ports/mail/bogofilter/Makefileを参考にしてconfigureしなさいな。
spamassassinが何故遅いのか、 ハック(perlだから、とかじゃなく) した奴はいませんか?
855 :
名無しさん@お腹いっぱい。 :04/02/22 10:01
>>853 sendmailを使っているからX-headerに埋め込まないと使えましぇん。
Sampleありがと、nakai,katori,kusanagi,inagaki は
X-Bogosity: Yes , spamicity=1.000000 だよね (^o^)
>>851 FreeBSD4.9/cvsupでportsを最新にして
#cd /usr/ports/mail/bogofilter
#make install
とやっております。
# make clean
===> Cleaning for db4-4.0.14_1,1
===> Cleaning for libtool-1.3.5_2
===> Cleaning for gsl-1.4
===> Cleaning for bogofilter-0.16.4
>>854 あなたハックという言葉の使い方間違ってる。
>>855 ちっとしらべてみたらreformail(1)でできそうな気がした。
それで考えたアイディア。
これを使うとどうなるか試してないけど。
BOGORESULT=`nkf -Zme|kakasi -w|bogofilter -u -e -p`
if( $BOGORESULT =~ /^X-Bogosity: Yes,tests=bogofilter/:h )
{
# BOGORESULTの結果からX-Bogosityを取得
BOGOHEADER=`echo $BOGORESULT | reformail -X 'X-Bogosity'`
# X-Bogosityを現在のメールに追加
xfilter "reformail -A $BOGOHEADER "
}
xfilter側のreformailのところで$BOGOHEADERを\"でくくらないとまずいかもしれない。
...さっきは誤植を入れてしてしまいました。
世界にひとつだけの花とか夜空ノ向コウとか結構好きですから許してくんなまし。
--bogofilter + kakasi
--with-libdb-prefixでdbのある場所を指定してみるとか。
db4は入れたことが無いけど/usr/local/libあたりなのかな?
858 :
名無しさん@お腹いっぱい。 :04/02/23 10:20
>BOGORESULT=`nkf -Zme|kakasi -w|bogofilter -u -e -p` >if( $BOGORESULT =~ /^X-Bogosity: Yes,tests=bogofilter/:h ) 残念だが実際にこれでヒットするやつは無かった… >bogofilter + kakasi bogofilterのREADMEでFreeBSDの記載を見つけたのだが撃沈… env CPPFLAGS=-I/usr/local/include/db3 LIBS=-ldb3 LDFLAGS=-L/usr/local/lib \ sh ./configure --with-db=/usr/local Replace the two "db3" with "db4" if appropriate, and adjust all と、当然db4としてやってみたが、あかんかった。 素直に素bogofilterで使うが吉か…
>>858 ん?うちの FreeBSD-5.2 では普通に bogofilter + kakasi できてるけど?
--with-db=/usr/local じゃなくて --with-db-prefix=/usr/local じゃないかな。
config.log にエラーの原因が書かれてるはずなので見てみたら?
"Cache (C は大文字)" で検索かけて、その直前にエラーになったソースコードと
コンパイラのエラーメッセージが出てると思う。
間違えた… s/--with-db-prefix/--with-libdb-prefix/ その上 --with-db は obsolete なだけか。 お詫びとしてうちの configure。db4 は package からインストール。 kakasi は $KAKASIDIR に野良ビルドで入れてます。 CPPFLAGS="-I/usr/local/include -I/usr/local/include/db4 -I${KAKASIDIR}/include" \ LDFLAGS="-L/usr/local/lib -L${KAKASIDIR}/lib" LIBS="-ldb4" \ ./configure --with-database=db --with-libdb-prefix=/usr/local --with-included-gsl
>>858 そういえばコマンド実行後に代入するときは改行文字をspaceで置き換えるとマニュアルに書いてあったね。
そうすると、/^とか/:hとかやってるとまずいわけで。
ということを踏まえて、こんなんでどうかな。
# bogofilterを実行し、headerよりX-Bogosityのラインを抜き出す。
BOGORESULT=`nkf -Zme|kakasi -w|bogofilter -u -e -p|reformail -X 'X-Bogosity:'`
# X-BogosityがYesならヘッダを付加。
if( $BOGORESULT =~ /^X-Bogosity: Yes,tests=bogofilter/)
{
# X-Bogosityを現在のメールに追加
xfilter "reformail -A \"$BOGORESULT\" "
}
よく考えたら、X-BogosityはYesでもNoでもついてよさそうなので、if文は蛇足かも。
...これでうまくいったらbogofilter+kakasiの存在意義を奪ってしまいそうだ。(--;
chasen,mecab対応もすぐできるし。
使ってないんでアレなんだけど if( `nkf -Zme|kakasi -w|bogofilter -u -e` ) { to "smapbox" } maildrop ってこんなかんじで exit code は使えないの? どうしても X-Bogo フィールド付けたいって話?
863 :
名無しさん@お腹いっぱい。 :04/02/23 17:08
>>859 取りあえず、config.logを… 後はのちほど
| #include <db.h>
| int
| main ()
| {
| int r, s, t; db_version(&r, &s, &t);
| ;
| return 0;
| }
configure:11459: error:
と、ゆうちょります。
864 :
名無しさん@お腹いっぱい。 :04/02/23 17:24
>>861 すごいぞ! 上手くいきそうな予感。if(… は無しとした。
もうちょっと、メール受信して試してみる。
bogofilter.cf
spam_subject_tag=***SPAM***
とかしてるけど、これもreformail でやっつけれる?
865 :
名無しさん@お腹いっぱい。 :04/02/23 19:44
多少は自己解決しないと、 spam_subject_tag もこれで土筆… やったね。 BOGORESULT=`nkf -Zme|kakasi -w|bogofilter -u -e -p|reformail -X 'X-Bogosity:'` SUBJECT=`reformail -x 'Subject:'` xfilter "reformail -A \"$BOGORESULT\" " if( $BOGORESULT =~ /^X-Bogosity: Yes, tests=bogofilter/) { xfilter "reformail -I \"Subject: [SMAP] $SUBJECT\" " }
>>862 マニュアルによると、
`nkf -Zme|kakasi -w|bogofilter -u -e`
やったらRETURNCODEにexit codeが入るみたいよ。
んで、if文でこのRETURNCODEを評価したらいいんでないの?
こんな感じ。
`nkf -Zme|kakasi -w|bogofilter -u -e`
if ( $RETURNCODE != 0 )
{
to "smapbox"
}
まあ、X-Bogosityフィールドがあったが判断材料が多くて便利だと思うけど。
>>865 外部コマンドを呼び出すオーバーヘッドがどの程度あるのかよくわからんけど、
それだとif文の中にSUBJECT=`reformail...`を入れたほうが無駄な動きが少なくてよさげ。
外部コマンド呼び出しを極力削るならこんな感じかな。
BOGORESULT=`nkf -Zme|kakasi -w|bogofilter -u -e -p|reformail -X 'X-Bogosity:'`
xfilter "reformail -A \"$BOGORESULT\" "
if( $BOGORESULT =~ /^X-Bogosity: Yes, tests=bogofilter/)
{
/^Subject: *!.*/
xfilter "reformail -I \"Subject: [SMAP] $MATCH2\" "
}
867 :
名無しさん@お腹いっぱい。 :04/02/23 22:39
>>866 綺麗… maildropライクでグッド! サスガ!
>>866 ぬりがとう。maildrop だとそんなふうにやるんだ。
自分はヘッダ書き換えられるのあんまり好きじゃないんだけど、一連の流れの
前提は
>>855 で X-Bogo フィールド必須だったのね。
うーん…外部コマンド呼び出しと、ライブラリを呼ぶのと、どっちがいいんだろう?
>>867 後で考えたけど、
/^Subject: *!.*/:h
と:hをつけたがHeaderのみにmatchingするからちょっとは効率がよいかもしれない。
...あと、暇だったらmaildropの普及を狙ってどっかにmaildrop設定ページでもつくってくれぃ。
もれもどっかに書こうかな...
>>869 やることはあんまり変わらないのでfork(2)する時間分くらいしか違わないと思ってる。
871 :
名無しさん@お腹いっぱい。 :04/02/24 17:34
maildropでレシピというのかどうか知らないけども
タグが必要な時は
SPAM_SUBJECT_TAG='[SPAM]'
当然書き換え可、そして不要なら
#SPAM_SUBJECT_TAG='[SPAM]'
:
if( $SPAM_SUBJECT_TAG && $BOGORESULT =~ /^X-Bogosity: Yes, tests=bogofilter/)
{
/^Subject: *!.*/:h
xfilter "reformail -I \"Subject:$SPAM_SUBJECT_TAG $MATCH2\" "
}
どうですか?
>>870 設定ページ… まともに./configure が出来ないヤシですよ。俺は無理
>>867 maildropライク… ズバリその物だっちゅの(やや訂正)
一気にWAKATI選択枝が増えたんだけども、mecab を試してみようかな。
scmail を使い出したのですが、これってメールスプールに落とすことはできないのでしょうか。
kakasi -w と mecab -O wakati を比較検討してますが、 どちらも一長一短でどうしたものかと考え中… mecab の長所は、辞書にない単語を分解している。全角スペースを 1語として分かちしている。よって wordlist.dbの肥大化が防げる。 mecab の短所として半角ドットをも分かちしてしまう。IPアドレスを も分解している。10.0.0.1 を一括りとしない。kakasiは一括り。 数字とドットの間にスペースを挿入。IPは分解したら意味がない… 悩ましい選択ですな。 mecabに設定可能なオプションありましたっけ?
>>873 chasenはためしてみた?
前青空文庫の小説を分かち書きさせて時間を測ったときは
100kB以下の小さい文章はchasenの方が速く、
1MB以上の大きい文書はmecabの方が速かったと思う。
pLaTeX2eの文書を食わせたときはchasenは\begin{document}とかをひとつの単語として
出していたけれど、mecabは\,begin,{,document,}というふうに分けて出していた気がする。
電子メールの容量は大抵はそんなに大きくないのでもれだったらchasenで分かち書きかな。
>>848 了解 chasen ですね。mecabサイトの処理速度レポートを鵜呑みしていた。
>100kB以下の小さい文章はchasenの方が速く
目からウロコです。やってみます。ありがとぅ! しかし、このレシピ最高!
# bogofilterを潜り貫けるSPAMがいくつかありますが、
メッセージ内で本文が数行、改行が20行、その後ランダムな単語がいっぱい
ランダムな単語がwordlist.dbに登録されてなく。spamicityが下がっているか?
bogofilterへ送る前にメッセージ後半を切り落とすなんてこと出来んかな?
> bogofilterへ送る前にメッセージ後半を切り落とすなんてこと出来んかな? やりゃできるだろうが、そもそもベイジアンフィルタに100%の検出を求めるのは無理。 a.切り落としてみる b.ベイジアンとは別のタイプのフィルタを併用してみる c.あきらめる
>>876 改行、ランダム単語列挙はベイジアンをすり抜ける方法と認識している。
自動学習しているbogofilterでwordlist.dbの肥大化と防ぐ方法として
無意味な改行があったらそれ以降を切り落とす仕組みがあってもいい。
>>877 改行はすり抜ける要因ではないし、ランダム文字列->無意味な改行->spam文だっ
たら切り落とすと逆に検出率は悪化する。
>ランダム文字列->無意味な改行->spam文 確かに検出率は悪化… 見せたいspam文の認知度が下がりますね。 SPAM業者はこんなことしないでしょう。 htmlで操作すればそうでも無いけど。> html/textはmaildrop だ!
>>877 bogofilterの前に下のようなPerlスクリプトをfilterとして通すと
いいと思うけどね。
下のだと15回連続した改行それ以降は捨てる。
#!/usr/local/bin/perl
$threshold = 15;
####################
my $num_newline = 0;
while(<STDIN>) {
if($_ =~ /^(\r)?$/) {
$num_newline++;
if($num_newline >= $threshold) { last; }
} else {
$num_newline = 0;
}
print $_;
}
ランダムな文字列ってspamの表にもnon-spamの表にも無いから、
メールの中に出現したとしてもspamの判定をするための統計処理には寄与しない
と思ってたんだけど違うのかな?
HTMLメールでHTMLのコメントとしてbia<!-- random -->graとかされると困るけど、
bogofilterはHTMLをparseできるしねぇ。
>880 アルゴリズムを正確には知らない(graham の論文をざっとみたことはある) けど,"見掛けない単語" => 新しい話題の可能性があるので, すこし "生きる方向" にかかるんじゃないかな? 基本的には "spam に良くあらわれる単語/パターンを持つものは spam だろう" であって,逆も裏もマッチしない,ということで.
>>881 |単語のspam率 - 0.5| でソートし、上位の物のみを使用して
ベイズ確率を計算するから、よっぽどコーパスが貧弱でない限り
新しい単語は結果に影響しないよ。
まぁ871はもっとコーパスを鍛えろってことで。
(´-`).。oO(コーパスを……鍛える……?)
880-884 ありがとぅ perl で外部スクリプトをたたくのはスマートさに欠くんで及び腰… 新しい単語がspam率に影響しないということとして、自動学習をさせていると この新しい単語は、spam-mailであればspam、そうでなければnon-spamとして wordlist.dbに登録されているようなんです。>wordlist.dbの肥大化へ 今後使いそうも無いような単語は登録したくない。 maildropレシピをいじって何とか出来んもんかと man maildropfilter で考え中。 で、アイデアとして連続改行が存在するメールには自動学習の対象外として bogofilterを通してやれば、wordlist.dbの肥大化を防ぐ事が出来るかも。 maildropのパターンマッチで連続改行を発見するレシピがどうにも見いだせましぇん。 ここの人たちのwordlist.db のサイズってどんなくらい? 4MBっかまだまだ?
なんで wordlist.db のサイズなんて気にするの? 大きくなっても性能には影響無いよ。
>>885 はなんかズレてんだよなあ。誤判定したら再学習させてるか?
んでも wordlistが 40Mもあるのは効率悪そうだ。 と自分のwordlist.dbを眺めて思った。
>>886 WinChip2/200MHz+128MBなサーバでは荷が重くない? リソースは大切に
>>887 おいらの美味しいmaildropレシピをさらすと…
mail/aliasesをこちょこちょとやっておいて
if ( /^to:.*deny-.*@.*/ )
{
xfilter "nkf -Zme|kakasi -w|bogofilter -sN"
exit
}
if ( /^to:.*pass-.*@.*/ )
{
xfilter "nkf -Zme|kakasi -w|bogofilter -nS"
exit
}
ちゅう具合にメーラーで転送してやっつける。どだ!
>>889 > WinChip2/200MHz+128MBなサーバでは荷が重くない? リソースは大切に
メール中の単語を wordlist.db から引く際の計算量は O(1)。
wordlist.db のサイズには依存しないよ。
> ちゅう具合にメーラーで転送してやっつける。どだ!
それじゃだめ。bofofilter はヘッダとボディで単語の扱いを変えるから、
再登録する場合は、元のメールそのものを食わせないと。
>>885 wordlist.dbの肥大化を避けたいなら
月に一度くらいのペースで過去1ヶ月分のデータでwordlist.dbを作り直せば?
こうすると過去のspamに使われたけれど最近ほとんど使われない単語が
DBに残り続けるのも避けられるだろうし。
aliasesいじれることから個人サーバーかと少し思ったんだけど、
個人サーバーだったらbogofilter使うよりSMTP Daemonの設定いじって
rejectした方がマシンへの負荷は少ないし、spammerもrejectされるメールアドレスとして
敬遠してくれるよ。
まあ、はじいたが最後二度と読めないという問題はあるけど。
あと、自分の場合はspamなのにspamと判定されなかったメールを学習させるとき
bogosityが1.000000000になるまでbogosity -sに投入して覚えこませるね。
bosogity -sしたメールをbogosity -p -vしてみてもYesにならない場合があるから
こうしてるけど。
wordlist.db 作りなおさなくても bogoutil -a 30 -m $HOME/.bogofilter/wordlist.db とすれば、30 日以上更新されてないトークンを expire できるよ。
893 :
名無しさん@お腹いっぱい。 :04/03/06 22:25
充分詳しい気がするんだが…。
あの説明でわからないなら手を出さぬのが吉。
896 :
名無しさん@お腹いっぱい。 :04/03/07 14:03
SpamAssassin で SPAM メールの学習をメール経由でしたいと思っとります。
サーバに
[email protected] というアカウントを用意しておいて、SPAM が
誤配送された時にその SPAM を上記アドレスに転送。
あとは spam アカウントのメールボックスを sa-learn で定期実行する。
・・とりあえず一連の動きはできたけど、メールを転送したユーザの
メールアドレスなども spam db に学習されてしまう。
みなさんどうしてます?
>>892 遅ればせながらどもども。
それで太ったDBはやせるのかな...
でも、bogofilterがバージョンアップしたときにHTMLをparseできるようになるなど
微妙に能力が上がるのでbogofilterのバージョンアップと同時にDB作り直したが
いいよね。
16系,17系は新機能追加は内容なのであれだけど。
>>896 自分の場合は誤認はめったにないのでメールサーバーマシンにログインして流し込んでる。
今考えた案なんだけど、
Courier-IMAPとかuw-IMAPを使っているなら
spamなのにspamと判定されなかったものを貯めておく領域を作って、
そこにおいておくとcronで自動的にbogofilterとかに通してrmしてくれるようにすると
よいかもしれない。
こうするとheaderもbodyもほとんど汚さないし。
>>896 どんな形式で転送してるのかしらんけど、sa-learn する前に元に戻すスクリ
プトかませばいいだけちゃうん?
899 :
名無しさん@お腹いっぱい。 :04/03/08 19:38
>>897 , 898
返信ありがとう。
とりあえずユーザには
>>897 のようにします。
ユーザの使っているメーラは IMAP を使えるからね。
>>898 >どんな形式で転送してるのかしらんけど、sa-learn する前に元に戻すスクリ
>プトかませばいいだけちゃうん?
Outlook が多いんですよね〜。とりあえず一番簡単な上記のようにしました。
procmailrc で、bogofilter -u させていると、 bogofilter: error: the data base file size is only 16 pages というエラーが出るようになったんだけど、データベース サイズの制限ってあるの?
901 :
名無しさん@お腹いっぱい。 :04/03/19 14:30
SpamAssassinにX-Spamヘッダを書換えさせて、再び元のメールスプール に戻すには ~/.procmailrcに :0fw | /usr/bin/spamassassin :0 って書けばいいの?
/etc/mail/procmailrc に :0fw | /usr/bin/spamassassin と書いて実験してみます。
>>902 それでええんちゃうか。exampleには
:0fw:
と書いてあるけど。
うまくいってるようです、どうもでした。
netsky対応のレシピってありませんかね? もしよかったら対応されているかたのレシピみたいです
俺は clamav を気休め程度に使ってるな。 以前は procmail から叩いてたけど、今は .qmail から。
シマンテックはワームの MD5 を公開してるわけだが、 これを利用して蹴ることはできんだろうか。 uudeview に通して md5sum に食わせて…。
909 :
名無しさん@お腹いっぱい。 :04/04/04 19:22
こんちは。 一度、MHの~/Mailに取り込んでしまったメールを再度、~/.procmailで振り分けするには どうすればいいでしょうか?
>>908 TVqQAAMAA
TVpQAAIAA
TVpAALQAc
TVpyAXkAX
TVrmAU4AA
TVrhARwAk
TVoFAQUAA
TVoAAAQAA
TVoIARMAA
TVouARsAA
TVrQAT8AA
# *.zip
# UEsDBAkAA
# *.z (gnu-zip)
# H4sIADWWb
# double Base 64 Windows Executable
VFZxUUFBT
# triple Base 64 Windows Executable
VkZaeFVVR
を蹴ればよろしい。
>>905 さん
情報ありがとうございます。
Yet Another antiVirus Recipeの一部なのですが
#Netsky.r
:0BD
* -800^0 #この数字の意味ってどういう意味でしょう?
* 200^0 aW50ZkE #ここもわからないです
Yet Another antiVirus Recipeのスクリプトでnetsky.qについての
レシピを追加したのですが(意味もわかっていないのに)
それでもすり抜けてきたmessage18307.zipを
* 200^0 aW50ZkE
↑このような感じで追加したいのですが
どのようにaW50ZkEという値を探すのかわからないので
教えていただけますでしょうか
913 :
名無しさん@お腹いっぱい。 :04/04/30 13:27
一応procmail関係なんで、ここでいいのかなあ…質問age procmail + dmailでMLとかをそれぞれのIMAPフォルダに振り分けてるのですが、 1つのメールを同時に複数フォルダに振り分ける方法ってありまつか? あるメールを +inboxと +spamに同時に放り込むようなイメージなんですが。
cというのがcopyフラグ。
>>914 :0 c
| dmail +spam
:0
| dmail +INBOX
で○なんかな?
あ、できたw ありがとです。
>>906 すばらしいジョーホーありがとー。Yet Another antiVirus Recipe カンドーしました。
ちょこっと自分の環境にあわせて、サーバのローカルメーラをprocmailにして導入しました。
>.916 mail.localのかわりにprocmail使って配送ってことですか? >906のレシピは5000行ぐらいあるんで、ローカルメーラにprocmail + YAVR だとクソ重くなりませんかね?
918 :
名無しさん@お腹いっぱい。 :04/05/09 16:57
素で使ってる、bogoとsa併用だが日本語のに関しては hamの学習が鈍すぎるね。 kakasi意味ねーとかいってる香具師出てこい。 おっと、その前に形態素かましてうまくいってる 香具師の報告お願いします。
>>918 nkf -m | kakasi -w | bogofilter
で手元ではうまくいってるよ。日本語の spam も判定してくれてる。
日本語だけじゃなくて中国語も普通に受け取るメールがある(もちろんSPAMも)のですが、何を使うのがいいでしょう? 日本語で解説されたページはどれも英語と日本語しか考慮してなさそうなのばかりで困っています。
>>920 いろいろ試して中国語を考慮したページを書く。
>>920 Charsetがiso-2022-jpなら日本語の形態素解析による分かち書きをしてbogofilterに通す。
Big5なら中国語の形態素解析をしてbogofilterに通す。
asciiならそのままbogofilterに通す。
とかするとよくない?
中国語用のfreeな形態素解析器や文字コード変換ソフトがあるかは知らんけどね。
あと、多分言語ごとにbogofilterのDBを分けたほうが精度は上がると思うよ。
923 :
名無しさん@お腹いっぱい。 :04/05/13 10:53
procmailのレシピを.procmailrcファイルからではなく MySQLなんかのDBを使う事ってできないですか? ウェブ上からユーザがフィルタリングルールを設定できるようなのを作りたいと思っています。
そんなの MySQL から読むようにいじればいいじゃんと思ってソースを見て、 ・・・あぁ、そうだったんだよな、と改めて気づくある春の昼下がり。
というわけで、とりあえずprocmailを捨ててmaildropをいじる方向で。
ちなみにmaildropはMySQLからuserdbをひっぱってこれるようになっていたりする。
>>929 /etc/passwd に存在していない仮想アカウントの
メールボックスの位置やらなんやらを格納しておくデータベース。
ってことで、あとはuserdbを拡張してフィルタルールも格納できるようにすれば いいわけ。
.procmailrc から .mailfilter への移行ツールってありますか?
and条件とかor条件とかが連なったもののMySQLの格納をどうするのか ちょっと見えてこないのだが質問した人はどう考えてるんだろう. 自動振り分けさせるならせめて標準的なMUAについているくらいの 振り分け機能は持たせたいよね。
937 :
名無しさん@お腹いっぱい。 :04/05/17 16:00
maildrop を使おうと思うんですが,qmail で複数アドレスを処理する場合どうするんでしょう? ぐぐってみても .mailfilter を使う事しか書いてないんで,出来るのかわからないのですが…
>937 対応関係を間違えていないか? .forward-*(postfix) <=> .qmail-*(qmail) .procmailrc(procmail) <=> .mailfilter(maildrop)
>>938 maildrop や procmail は .qmail でパイプで渡して処理をさせるんですよね?
.qmail-[色々] が複数あるので,それ事に maildrop へ渡したいんですが,これって間違った考え方ですか?
940 :
名無しさん@お腹いっぱい。 :04/05/17 21:52
オマエ等、mail.localは使わんの?
>939 ".qmail から渡す" ".qmail-* が沢山ある" って 自分で自明に書いてんじゃん。これ以上なにを寄稿というの金?
>>939 各.qmail-[いろいろ]ごとに使うフィルタールールを変えたいということ?
ひとつはmaildrop呼び出し時に引数に設定ファイルを渡すことで
ルールが変えられることを使った方法で.qmail-[いろいろ]ごとに
別のルールに渡せばよい。
もうひとつはすべて同じところに向けておいて
if (/^To: foo-[いろいろ]@example.co.jp/:h && other rules)
{
...
}
とやる方法。
>942 前者はいいけど,後者は Bcc や ML で来たり, 自分の複数アドレスに Cc 入っているようなメールで うまく対処するように書くのは結構しんどいのでお勧めしません. アドレスの管理に気をつけていれば Delivered-To とかで いいんだけど,万能じゃないしね.
>>942-943 .mail-[hoge]とか作って,これにパイプで流し込む方法を取りたいと思います.
早速 ports から入れてみようと思います
>>941 すみません.確かにわかりづらい書き方でした…
cygwin スレから来ました cygwin が原因かどうか切り分けたいのですが、 検索しても根本原因を捜し出すことができなかったので 質問させてもらいます fetchmail から procmail を動かしています ~/.procmailrc はこれだけです MAILDIR=${HOME}/mail DEFAULT=${MAILDIR}/inbox LOGFILE=${MAILDIR}/.proclog LOCKFILE=${MAILDIR}/.proclock :0: ${DEFAULT}/. $HOME が /home/hoge ならば ~/mail/inbox/ に振り分けられるのですが $HOME を /cygwin/c/hoge など、cygwin 以外のところに設定すると /var/spool/mail/hoge に溜ってしまいます エラーは何も表示されません fetchmail はどちらでも動くのに procmail が動かないのが気になります どなたかこのことについて情報をお持ちではありませんか もしくは、他の OS ではこのようなことはありませんか
>>945 HOMEの値がprocmail起動前から変わった場合には異常を検知して
defaultの動作である/var/spool/mail/<name>に書くという仕様なんじゃないの?
謎な仕様が多いことやソースコードが汚いことで嫌になったのでもれは今は
maildropを使ってるけど。
maildropfilter(5)を手元で訳出中なのだが、訳了したらここに貼っていい? それとも和訳はもう既にどこかにある?(ぐぐったけど見つからん)
>>947 ここに貼るとライセンスとかよくわかんなくなって
再利用しにくくなるから
どっかの ML に投げるとか自分のページに貼るとかしてくれ。
maildropで、MHフォルダに振り分ける方法を教えて下さい。
>949 1. procmail の設定ファイルの謎に悩む 2. maildrop 使ってみたくなる 3. MH フォルダであることを思い出す 4. やっぱ procmail ですか... orz 5. 1. に戻る (maildrop から procmail を呼び出すとか,そういうのは置いておくとして)
>>950 MH形式から移行すればいいだけのことやん。
>>950 やっぱり、いい方法ないのですね。
>>951 mewを使ってます。
MUAごと変えるのは大変そうなので、ちょっと避けたいです。
>>953 scmail使ってみたら?
Schemeの処理系が必要になるけどソースコードはそう悪くないと思うよ。
>>953 localでimapd上げるとMUAに縛られなくてすむのに。
ふつう IMAP サーバ上のメールの自動振り分けってどうやるもんなんでしょうか?
>>956 uw-imapdの場合 maildrop + dmail
courierなどのスプール形式がMaildirの場合 maildropのみ
cyrusの場合 知らない
>>957 なるほど、そんな糞言語もありましたね。
>>958 せっかくメールスプールの実装を IMAP で隠蔽・抽象化できてるのに、
そんなん使ってたら元の木阿弥やん。
>>959 のーなしなしったかさんは出直してきてね。
サーバサイドでmaildrop使っても、クライアントサイドでは関係ないお話でそ。
>>963 使う。
Subjectをgrepとsedで抜いてきて、formailで入れ替え。
965 :
名無しさん@お腹いっぱい。 :04/06/10 17:33
regist_(乱数)@hoge.comというアドレスをクライアントが送信した際に、 .forward -> procmailとキックして返信メールを送るための レシピを教えてください。 :0 * ^To: .*regist_* | (返信するためのプログラムパス) これだと、regist_(乱数)というアカウントが無いためか、 上手く動きませんでした。
>>965 良心的に見せたいspam業者?
どっちにしろ.forwardやprocmailだけで解決する問題じゃないけどね。
>上手く動きませんでした。 あーそうですか。残念でしたね。sendmailで頑張ってやってみようね。
>>966 ケータイサイトのメアド登録じゃないかな。
似たような仕組み作ったことあるな
>>967 qmailやpostfixだとあまりがんばらないでも実現できるね。
>>965 まあそんな訳で、自分で「アカウントが無い」って判ってるんだから
あと一押し、ってとこだね。
>>968 空メールを送ってもらってconfirmを求めるメールを返すというようなものなのかな。
なんでbodyにconfirmのための文字を入れちゃいけないの?
普通のMailing List Managerはbodyに持たせてるよね。
>>969 最近はSendmailでもできるっぽいよ。
つーかそんなに業者に塩を送ること無いじゃん……
>972 ホウ酸団子とか送ってあげたいけどどうすればいいのかなぁ...
974 :
名無しさん@お腹いっぱい。 :04/07/23 03:06
maildrop日本語記事少ないのね
>>974 そうか?
前よりましになったんじゃないの?
まあ、C言語とかJavaとかPerlとかかける人からすると文法はそんなに難しくないし。
こまかな小技を知りたかったらこのスレを見渡すといいよ。
添付ファイルだけ(他は全く不要なんで) をファイルとして保存するのって やっぱスクリプト書けないとダメっすか? #サンプルが見つからないよぉ
978 :
名無しさん@お腹いっぱい。 :
04/07/27 16:22 >>945 私も同じ問題を抱えていて少し調べていたのですが、cygwinの/etc/passwdの
ホームディレクトリの設定をご所望の/cygdrive/c/hogeと変更してみては
いかがですか。私はそれで直りました。