.procmailrc覚え書き

我が家の .procmailrc のメモ。大半が googleで .procmailrc を引いて出てきたページからパクったもの(汗)ですが、あちこち見ながら書いたのでどこがだれのオリジナルなのかはよく判ってなかったりします(謝)

初期設定
私のデフォルトはtcshなので、'SHELL=/bin/sh'を入れるのを忘れてハマりました(笑)
PATH=/bin:/usr/bin:/usr/local/bin
SHELL=/bin/sh
MAILDIR=$HOME/Mail
LOGFILE=$HOME/maillog
JUNK=$MAILDIR/junk/.
VIRUS=$MAILDIR/virus/.
ADV=$MAILDIR/ad/.
Virus除去
'_' から始まるアドレスにはご退去いただく
:0H:
* ^From: .*<_
$VIRUS
その他、うさん臭いやつもご退去
:0H
* ^Content-Type: multipart/alternative;
{
  :0B:
  * <HTML><HEAD></HEAD><BODY<
  * ^TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  $VIRUS
}

:0H
* ^Content-Type: .*multipart
{
  :0B:
  * ^[\t ]*name=.*\..*(\.scr|\.exe)
  $VIRUS
}

:0H
* ^Content-Type: .*multipart
{
  :0B:
  * ^Content-Type: .* name=.*\..*(\.scr|\.exe)
  $VIRUS
}
同じ所から来る場合は、一時凌ぎでこういうやり方もアリ。ヘッダの From: はあてにならないのですが、先頭の From は使える場合もあります。
:0H:
* ^From だれかさん@どめいん
* ^Content-Type: multipart/alternative;
$VIRUS
なお、現在よく見かけるvirusメールは自分でメールを配送せずに、メーラーで設定されたSMTPサーバに投げているものが多いようですので、同じ人からくる場合には少々偽装工作が施されていてもすぐにわかります。
広告振分け
本当の広告の場合は排除というよりも、iモードまで来るのが邪魔なので『別の場所に保存』ですね。数はそんなに多くないのですが、中身がspamな場合が多いのであまり区別する意味も無いのですが(苦笑)
:0H:
* ^Subject: \/.*
* ? echo "$MATCH" | /usr/local/bin/nkf -Zme | /usr/bin/grep '!.*広告.*!'
$ADV

:0H:
* ^Subject: \/.*
* ? echo "$MATCH" | /usr/local/bin/nkf -Zme | /usr/bin/grep '未承諾広告※'
$ADV
spam除去
こういう失礼なメールはほとんどspamです。
:0H:
* ^To: undisclosed-recipients
$JUNK
あまりしたくありませんが・・・数が多いので。
:0H:
* ^Content-Type: .*GB2312
$JUNK

:0H:
* ^Subject: .*gb2312
$JUNK

:0H:
* ^From: .*gb2312
$JUNK

しつこい人にはピンポイント。Reply-To とか X-Mailerとか Received等でもOK
:0H:
* ^From おなまえ@どめいん
$JUNK
HTMLメールをテキストにする
私はHTMLメールをHTMLで受け取る必要がぜんぜん無いので。
:0H f
* !Content-Type:.*text/plain
| sed "/^Content-Type:/s:text/html:text/plain:"
転送設定
ここまで無事にたどり着いたメールはあちこちにばら撒かれます。 とりあえず別のアカウントに投げる(バックアップ)
:0 c
! アカウント
大きくないやつだけZaurusに飛んでけ〜
:0H c
* !^FROM_DAEMON
* < 100000
! takatani@Zaurusのメールアドレス
無制限でVAIO-Uにとんでけ〜
:0H c
* !^FROM_DAEMON
! takatani@VAIOのメールアドレス
先頭部分だけドコモにとんでけ〜。これはログにエラーが記録されますし正しくない記述ですが、とりあえず私のところでは動いています(^^;)
:0H c
* !^FROM_DAEMON
|(/usr/bin/head -100|$SENDMAIL ドコモのアドレス)
でもって最後に本来の場所 (/var/mail/takatani)に置かれます。

基本方針は『疑わしきはゴミ箱へ』なので、多少もれたり必要なものまでゴミ箱に行ってしまっても気にしない事にしています。本当に必要なメールは ログや MH で一覧を見たときにすぐにわかりますから。