Linux Memo/procmail
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*procmailの利用方法 [#b8b7b5bb]
RIGHT:更新日 &lastmod();
**SetUID [#i9ef8583]
procmailにSetUIDが指定されていないと/var/spool/mailに新し...
個人設定として.procmailrcとして設定した場合は不都合はでな...
これはspamだけでなく配信を行うと発生するようだ。どちらの...
対処方法は不明だが、/etc/procmailで共通設定にするときはpr...
**ローカルにprocmailを利用するには [#vdfa5dcd]
''.forward''
"|IFS=' ' && exec /usr/local/bin/procmail -f- || exit 75...
とする。(文法は不明、おまじないと思うこと)
ただし、転送指定をしているとそちらも同時に実行されるので...
たとえば、
''.forward''
"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #okada"
okada@uso5004.abc-u.ac.jp
''.procmailrc''
# 特定のメールを消去
:0
* ^To: .*@xyz-u.ac.jp
/dev/null
:0 c
* ^From: .*
! okada@uso5004.abc-u.ac.jp
に設定すると
okada@abc-u.ac.jpあてはuso5004.abc-u.ac.jpに2通届き~
okada@xyz-u.ac.jpあてはuso5004.abc-u.ac.jpに1通届く
''本文中のキーワード処理''
フラグ B 本文検索 ~
「To: 4a.*@uso5004\.mie-chukyo-u\.ac\.jp$」の文字列が本文...
:0 B
* ^To: 4a.*@uso5004\.mie-chukyo-u\.ac\.jp$ [#z1715362]
/dev/null
**設定方法 [#k76a0350]
.procmailrcに以下のような内容を記入
# .procmailrcの設定例
# Log ファイルの指定
LOGFILE=$HOME/procmail.log
# メイルを保存するディレクトリの指定
MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/
# Lockファイルの指定
LOCKFILE=$HOME/.lockmail
# 以下条件の記述
# 特定のメールを消去
# SubjectにSPAMというキーワードのメールを削除
:0
* ^Subject: .*SPAM.*
/dev/null
# メールを他のアドレスへ転送する場合
#送信元がismを含むアドレスからのメールを転送
#レシピの1行目に :0 c と書くと、1通のメイルに複数のレシ...
:0 c #ゼロの後ろに"c"を入れるとコピーが残る
* ^From: .*ism.*
! ism@xxx.ne.jp
# 特定のディレクトリに保存する場合
:0
* ^From: .*okada.*
$MAILDIR/okada/.
# 特定コマンドの実行
:0
* ^From: .*ism.*
| command
これらの設定を行うと一致いないものはメールボックスに残る。
その他の設定
# 未承諾広告※
:0D
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTC...
junk/.
# 件名が変なもの
:0
* ^Subject:.*(penis|viagra|mortgage|rolex|sexy|prescript...
junk/.
# 件名が中国語のもの
:0
* ^Subject:.*=\?(big5|GB2312)\?
junk/.
# 本文が中国語のもの
:0
* ^Content-Type:.*(big5|GB2312)
junk/.
# 件名が韓国語のもの
:0
* ^Subject:.*=\?(euc-kr|ks_c_5601-1987)\?
junk/.
# 本文が韓国語のもの
:0
* ^Content-Type:.*(euc-kr|ks_c_5601-1987)
junk/.
***重複メールの削除 [#ra041c6d]
メーリングリスト等に参加している場合、To: が自分のメール...
以下の設定をspamチェック等の前、一番初めに入れる?とうま...
:0 Wh: msgid.lock
| formail -D 8192 $MAILDIR/msgid.cache
msgid.cache というファイルにこれまで受信したメールの Mess...
W フラグは実行するコマンドの完了を待ち合わせ、かつ、コマ...
h フラグは『条件にマッチしたメールを action に送る』とい...
.procmailrc のレシピの先頭に記述し、 %%msgid.cache という...
--------------------------------------------------------
:0 [フラグ] [:ロックファイル]~
* 条件
動作
「:」を付けることで、procmail に排他処理(ロック処理)を行...
ことができる。この場合は「:」の後のロックファイル名を省略...
procmail が勝手にロックファイル名を決めてくれる。~
''フラグ''~
フラグにはメッセージを処理する際のProcmailへのメッセージ...
フラグについて~
H:記述が省略された場合の動作。メッセージのヘッダだけを条...
B:メッセージの本文だけを条件文に渡し、検査する。
A:同じブロックレベルに記述されたAや、aの用いられてないレ...
a:Aと同様だが、手前のレシピが正しく実行された場合にだけ...
E:Aの逆。手前のレシピが実行されなかった場合にだけ検査す...
e:aの逆。手前のレシピが失敗した場合に検査する。
h:アクション部にヘッダだけを渡す。
b:アクション部にメッセージの本文だけを渡す。
f:パイプをフィルタとみなす。つまり、前処理ができる。
c:メッセージのコピーを残す。これがなければ、元のメール加...
の処理の為に必要である。また、転送する際にもコピーを残し...
メールは転送先にのみ残る。
w:指定されたフィルタやプログラムが終了するまで待機し、処...
検査を行わない。
W:wと同じだが、処理に失敗しても検査する。
i:あらゆる書きこみエラーを無視して検査する。
hb:なにも書かない場合の動作。アクション部にメッセージの...
---------------------------------------------------------
''アクション''~
! メールアドレス~
指定したメールアドレスに転送します。複数のアドレスを指定...
指定だけメール転送
#指定メールだけ転送
:0 c <---cはコピーも残す(転送元にもメールが残る)
* ^Subject: \[ISM\].* <---[は\(エスケープ文字)が必要
! okada@abc.ac.jp
| コマンドライン ~
コマンドラインの標準入力にパイプします。
-実際の.procmailrc
:0 cの「c」はメールは転送されてもそのメールも受信できるよ...
指定メールだけ転送
:0 c
* ^Subject: \[ISM\].*
! yokada@vmw.ism21.net
:0 c
* ^Subject: \[ism\].*
! yokada@vmw.ism21.net
# 以下はmimeで日本語対応
:0 c
# * ^Subject:.*=\?iso-2022-jp\?
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -me | egrep '\[ISM\]'
! yokada@vmw.ism21.net
:0 c
# * ^Subject:.*=\?iso-2022-jp\?
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -me | egrep '\[ism\]'
! yokada@vmw.ism21.net
-$MATCHには「\/.*」が入る→Subjectが入る
-[ISM]または[ism]が入っていればOK。ただし nkf -e はEUCの...
-「^Subject:.*=\?iso-2022-jp\?」コメントで、日本語指定を...
**参考 [#o015a840]
-[[Procmail の紹介とレシピの書き方:http://www.jaist.ac.jp...
-UNiX MAGAZINE 1998 年 10 月号
-http://suken.jp/~tet/FreeBSD/procmail.rhtml
---------------------------------------------------------...
RIGHT:[[元ページ:http://wwwism.dyndns.org/hp/linux/procma...
終了行:
*procmailの利用方法 [#b8b7b5bb]
RIGHT:更新日 &lastmod();
**SetUID [#i9ef8583]
procmailにSetUIDが指定されていないと/var/spool/mailに新し...
個人設定として.procmailrcとして設定した場合は不都合はでな...
これはspamだけでなく配信を行うと発生するようだ。どちらの...
対処方法は不明だが、/etc/procmailで共通設定にするときはpr...
**ローカルにprocmailを利用するには [#vdfa5dcd]
''.forward''
"|IFS=' ' && exec /usr/local/bin/procmail -f- || exit 75...
とする。(文法は不明、おまじないと思うこと)
ただし、転送指定をしているとそちらも同時に実行されるので...
たとえば、
''.forward''
"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #okada"
okada@uso5004.abc-u.ac.jp
''.procmailrc''
# 特定のメールを消去
:0
* ^To: .*@xyz-u.ac.jp
/dev/null
:0 c
* ^From: .*
! okada@uso5004.abc-u.ac.jp
に設定すると
okada@abc-u.ac.jpあてはuso5004.abc-u.ac.jpに2通届き~
okada@xyz-u.ac.jpあてはuso5004.abc-u.ac.jpに1通届く
''本文中のキーワード処理''
フラグ B 本文検索 ~
「To: 4a.*@uso5004\.mie-chukyo-u\.ac\.jp$」の文字列が本文...
:0 B
* ^To: 4a.*@uso5004\.mie-chukyo-u\.ac\.jp$ [#z1715362]
/dev/null
**設定方法 [#k76a0350]
.procmailrcに以下のような内容を記入
# .procmailrcの設定例
# Log ファイルの指定
LOGFILE=$HOME/procmail.log
# メイルを保存するディレクトリの指定
MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/
# Lockファイルの指定
LOCKFILE=$HOME/.lockmail
# 以下条件の記述
# 特定のメールを消去
# SubjectにSPAMというキーワードのメールを削除
:0
* ^Subject: .*SPAM.*
/dev/null
# メールを他のアドレスへ転送する場合
#送信元がismを含むアドレスからのメールを転送
#レシピの1行目に :0 c と書くと、1通のメイルに複数のレシ...
:0 c #ゼロの後ろに"c"を入れるとコピーが残る
* ^From: .*ism.*
! ism@xxx.ne.jp
# 特定のディレクトリに保存する場合
:0
* ^From: .*okada.*
$MAILDIR/okada/.
# 特定コマンドの実行
:0
* ^From: .*ism.*
| command
これらの設定を行うと一致いないものはメールボックスに残る。
その他の設定
# 未承諾広告※
:0D
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTC...
junk/.
# 件名が変なもの
:0
* ^Subject:.*(penis|viagra|mortgage|rolex|sexy|prescript...
junk/.
# 件名が中国語のもの
:0
* ^Subject:.*=\?(big5|GB2312)\?
junk/.
# 本文が中国語のもの
:0
* ^Content-Type:.*(big5|GB2312)
junk/.
# 件名が韓国語のもの
:0
* ^Subject:.*=\?(euc-kr|ks_c_5601-1987)\?
junk/.
# 本文が韓国語のもの
:0
* ^Content-Type:.*(euc-kr|ks_c_5601-1987)
junk/.
***重複メールの削除 [#ra041c6d]
メーリングリスト等に参加している場合、To: が自分のメール...
以下の設定をspamチェック等の前、一番初めに入れる?とうま...
:0 Wh: msgid.lock
| formail -D 8192 $MAILDIR/msgid.cache
msgid.cache というファイルにこれまで受信したメールの Mess...
W フラグは実行するコマンドの完了を待ち合わせ、かつ、コマ...
h フラグは『条件にマッチしたメールを action に送る』とい...
.procmailrc のレシピの先頭に記述し、 %%msgid.cache という...
--------------------------------------------------------
:0 [フラグ] [:ロックファイル]~
* 条件
動作
「:」を付けることで、procmail に排他処理(ロック処理)を行...
ことができる。この場合は「:」の後のロックファイル名を省略...
procmail が勝手にロックファイル名を決めてくれる。~
''フラグ''~
フラグにはメッセージを処理する際のProcmailへのメッセージ...
フラグについて~
H:記述が省略された場合の動作。メッセージのヘッダだけを条...
B:メッセージの本文だけを条件文に渡し、検査する。
A:同じブロックレベルに記述されたAや、aの用いられてないレ...
a:Aと同様だが、手前のレシピが正しく実行された場合にだけ...
E:Aの逆。手前のレシピが実行されなかった場合にだけ検査す...
e:aの逆。手前のレシピが失敗した場合に検査する。
h:アクション部にヘッダだけを渡す。
b:アクション部にメッセージの本文だけを渡す。
f:パイプをフィルタとみなす。つまり、前処理ができる。
c:メッセージのコピーを残す。これがなければ、元のメール加...
の処理の為に必要である。また、転送する際にもコピーを残し...
メールは転送先にのみ残る。
w:指定されたフィルタやプログラムが終了するまで待機し、処...
検査を行わない。
W:wと同じだが、処理に失敗しても検査する。
i:あらゆる書きこみエラーを無視して検査する。
hb:なにも書かない場合の動作。アクション部にメッセージの...
---------------------------------------------------------
''アクション''~
! メールアドレス~
指定したメールアドレスに転送します。複数のアドレスを指定...
指定だけメール転送
#指定メールだけ転送
:0 c <---cはコピーも残す(転送元にもメールが残る)
* ^Subject: \[ISM\].* <---[は\(エスケープ文字)が必要
! okada@abc.ac.jp
| コマンドライン ~
コマンドラインの標準入力にパイプします。
-実際の.procmailrc
:0 cの「c」はメールは転送されてもそのメールも受信できるよ...
指定メールだけ転送
:0 c
* ^Subject: \[ISM\].*
! yokada@vmw.ism21.net
:0 c
* ^Subject: \[ism\].*
! yokada@vmw.ism21.net
# 以下はmimeで日本語対応
:0 c
# * ^Subject:.*=\?iso-2022-jp\?
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -me | egrep '\[ISM\]'
! yokada@vmw.ism21.net
:0 c
# * ^Subject:.*=\?iso-2022-jp\?
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -me | egrep '\[ism\]'
! yokada@vmw.ism21.net
-$MATCHには「\/.*」が入る→Subjectが入る
-[ISM]または[ism]が入っていればOK。ただし nkf -e はEUCの...
-「^Subject:.*=\?iso-2022-jp\?」コメントで、日本語指定を...
**参考 [#o015a840]
-[[Procmail の紹介とレシピの書き方:http://www.jaist.ac.jp...
-UNiX MAGAZINE 1998 年 10 月号
-http://suken.jp/~tet/FreeBSD/procmail.rhtml
---------------------------------------------------------...
RIGHT:[[元ページ:http://wwwism.dyndns.org/hp/linux/procma...
ページ名: