http://www.ki.nu/software/cf/mailfilter.html
メールフィルタの追加
ここの部分の説明は _FFR_MILTER を定義して build した sendmail にだけ有効です。
Sendmail では、"Sendmail Mail Filter API" ドキュメントに従い、流入する
SMTP メッセージをフィルタする、メールフィルタ機能を利用出来ます。
これらのフィルタは、以下の二つのコマンドを使用し、mcファイル内で設定し
ます。
MAIL_FILTER(`name', `equates')
INPUT_MAIL_FILTER(`name', `equates')
最初のコマンド、MAIL_FILTER() は、単純に与えれた名前と引用文を使用して、
フィルタを定義します。たとえば、
MAIL_FILTER(`archive', `S=local:/var/run/archivesock, F=R')
と記述すると、sendmail.cf の行
Xarchive, S=local:/var/run/archivesock, F=R
に相当する行が生成されます。
INPUT_MAIL_FILTER() コマンドは、MAIL_FILTER() と同様の動作をしますが、
同時に m4 変数
`confINPUT_MAIL_FILTERS' にフィルタ名が設定され、
そのフィルタが実際に sendmail から呼ばれるようになります。
たとえば、次の二つの記述
INPUT_MAIL_FILTER(`archive', `S=local:/var/run/archivesock, F=R')
INPUT_MAIL_FILTER(`spamcheck', `S=inet:2525@localhost, F=T')
は、以下の三つの記述
MAIL_FILTER(`archive', `S=local:/var/run/archivesock, F=R')
MAIL_FILTER(`spamcheck', `S=inet:2525@localhost, F=T')
define(`confINPUT_MAIL_FILTERS', `archive, spamcheck')
と同じ意味です。
一般に、`confINPUT_MAIL_FILTERS` にあまりにも多くのフィルタを定義しな
ければならないような場合は、INPUT_MAIL_FILTER() を使うべきです。
INPUT_MAIL_FILTER() コマンドの後に `confINPUT_MAIL_FILTERS' を設定する
と、先にINPUT_MAIL_FILTER() によって作成されたリストをクリアしてしまう
ことに注意してください。
(訳注: この機能は -D_FFR_MILTER を有効にして sendmail を Build しなけ
れば使用できません。たとえば devtools/Site/site.config.m4 に、
APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_MILTER=1')
APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER=1')
と記述し sendmail を Build します。また .cf ファイルを生成する時に使用
する .m4 ファイル中では、
define(`_FFR_MILTER', `1')dnl
と記述します。
注) define(`_FFR_MILTER', `1')dnl は INPUT_MAIL_FILTER() より前に
定義します。
詳しい内容やサンプルは libmilter/README を読んでください。)
|