- 環境設定ファイル作成
ホームディレクトリ以下に「.procmail」を作成します。ここにフィルタ設定を書くことで、このまるたご屋では自動でフィルタがかかるようになります。
- 環境設定
PATH=/usr/bin/
LOGFILE=$HOME/Mail/procmail.log
MAILDIR=$HOME/Mail
LOCKFILE=$HOME/Mail/.lockmail
DEFAULT=/var/spool/mail/username
|
上記の5つを最初に設定してください。注意すべきはPATH, LOGFILE, DEFAULTです。下記にそれらの説明をします。 |
PATH | procmail本体がある場所のディレクトリを指定してください。 |
LOGFILE | メールログです。ブロックしたのか、素通ししたのかの全記録が残ります。自分で設定したブロックが正しく動作しているかのチェックはここを見て判断します。(例はこちら>>>) |
DEFAULT | usernameの所に、自分のユーザ名をいれましょう。この設定は自分のメールスプールを指定するものです。 |
環境設定がかけたら次はフィルタリング設定です。まずフィルタリング設定例をみてみましょう。それを見れば分かるはずです。空白が必要な部分で分かりづらい部分には「空白」という文字を入れています。1バイト空白(半角空白)に置き換えてください。 |
- フィルタリング設定例(メールヘッダブロック)
- 文字コードブロック
:0空白
* ^Content-Type:.*charset=.*ks_c_5601.*
/dev/null
:0空白
* ^Content-Type:.*charset=\"euc-kr\".*
/dev/null
|
- サブジェクトブロック
:0空白
* ^Subject: IMPORTANT.*
/dev/null
:0空白
* ^Subject: =??ISO-2022-JP??B??GyRCTCQ?+NU.*OS05c.*
/dev/null
|
- フィルタリング設定例(本文ブロック)
:0B空白
* .*content=\"text/html; charset=euc-kr\".*
/dev/null
|
- フィルタリング詳細説明
:0 | :0の後に必ず空白を一つ含めること!(必須) |
:0B | :0の後に必ず空白を一つ含めること!(必須)Bをつけるとヘッダチェックから本文チェックへ切り替わります。 |
* [正規表現] | 最初の*はヘッダもしくは本文すべてを意味する。たいていは*のままでよいです。 |
/dev/null | ゴミ箱に捨てるという意味。条件にヒットしたものを拒否するのではなく、ゴミ箱へ直行させるという意味合いになります。 |
その他 | サブジェクトブロックで特に日本語の扱いについては、MIME変換したものを記載すること。すなわち=??ISO-2022-JP??から始まるものです。この判別は日本語を件名につかって、自分自身にメール送り、そのメールヘッダのソースを見ることで、調べることができるでしょう。ここでの例は、先頭に「未承諾広告」がついているものをブロックするという意味になります。まぁ一般的な広告メールをブロックする方法ですね。日本の場合には産業経済省が法令として出してるもんです。「!広告!」が最初決められたものだったんですが、漠然としすぎるということで、「未承諾広告※」に切り替わったわけです。 |
- 正規表現
. | : | 任意の一文字 |
* | : | 直前の文字の0文字以上の連続文字列 |
.* | : | 0文字以上の任意の文字列 |
.+ | : | 一つ以上の任意の文字列 |
[] | : | [abc]の組み合わせで、a or b or cのいずれかの文字。 |
() | : | (A|B|C)の組み合わせで、A or B or Cのいずれかの文字列。 |
. * + [] () はそれぞれ特殊記号であるため、それを通常文字として扱う場合には、\(バックスペース or ¥マーク)を入れなければならない。 |
- 拡張子ブロックによるウィルスフィルタリング
例).exeファイルをブロック。
:0B空白
* ^Content-Type:.*name=.*\.exe.*
/dev/null
:0B空白
* .*filename=.*\.exe.*
/dev/null
大抵の場合、.exe, .pif, .scr, .com, .lnk, .vbs, .bat, .htaぐらいの拡張子をブロックしておけばよいでしょう。
- 2個目に「:」を付ける場合(ロックファイル)
:0:
* ^From: .*@sample.com.*
$HOME/sample.mbox
のようなケース。
MailDir形式保存ならば必要なし。mboxなど同一ファイルに追加書き込みしていく場合には,ロックファイルの必要性が生じる。ロックファイルを使う場合のみ最後に「:」を付けるのです。その後にファイル名を入れればそれがロック名となりますが,なければ自動的に名前が付きます。
|