ページ更新: 2004-08-13 (金) (5511日前)

関連: Linux/Postfix/メモ

2004-08-13

Postfix での正規表現のススメ

$ COLUMNS=100 dpkg -l postfix | grep postfix
ii  postfix             1.1.11-0.woody3     A high-performance mail transport agent

Postfixで使えるメソッドの確認

$ /usr/sbin/postconf -m
static
nis
dbm
regexp   ★使える
environ
btree
unix
hash

/etc/postfix/main.cf の修正

# The header_checks parameter restricts what may appear in message
# headers. This requires that POSIX or PCRE regular expression support
# is built-in. Specify "/^header-name: stuff you do not want/ REJECT"
# in the pattern file. Patterns are case-insensitive by default. Note:
# specify only patterns ending in REJECT. Patterns ending in OK are
# mostly a waste of cycles.
#
header_checks = regexp:/etc/postfix/header_checks  ★この行を有効に、パスを修正
#header_checks = pcre:/etc/postfix/filename

/etc/postfix/header_checks の内容

/^To:.*many-many-spam-arrived-not-used-address@examples\.jp/   REJECT

設定を反映させる

# /etc/init.d/postfix reload
Reloading Postfix configuration...done.

Postfix が main.cf の修正行を認識しているかどうか確認

$ /usr/sbin/postconf -n | grep header_checks
header_checks = regexp:/etc/postfix/header_checks

なお、regexp や pcre は postmap 不要。 (hashやbtreeじゃないから。エントリを先頭から調べる必要があるわけだし)