Postfix で正規表現(PCRE)を使う
Postfix で列挙が必要な設定項目で、正規表現が利用できると簡単に記述できる項目がある。ただし、あまり長い正規表現は書きたくない場合は、PCRE がオススメだ。
ここでは、mydestination を PCRE で表現する方法を説明しようと思う。
インストール
Postfix 用の正規表現モジュールをインストールする。
sudo dnf install postfix-pcre |
書き換え
仮に mydestination に以下のモノを列挙したい場合。
127.0.0.0/8 192.168.0.0/16 localhost localhost.localdomain hoge.com mail.hoge.com |
コレを正規表現として PCRE ファイルに書き換える
/^127\.\d+\.\d+\.\d+$/ ACCEPT /^192\.168\.\d.\d+$/ ACCEPT /^localhost(\.localdomain)?$/ ACCEPT /^(mail\.)?hoge\.com$/ ACCEPT |
コレを「/etc/postfix/mydestinations.pcre」として保存する。
※ 正規表現のあとに書かれている「ACCEPT」は「OK」などと書いても問題ありません。
※ 適応するパラメーターが ACCESS(5) に準拠している場合は、コチラをご覧ください。
※ PCRE の詳しい説明はコチラでご覧下さい。
※ 正規表現の詳しい説明はコチラでご覧下さい。
※ 基本的には、該当する正規表現だけを記述して下さい。
適応
上記で作成した「/etc/postfix/mydestinations.pcre」を「/etc/postfix/main.cf」の「mydestination」に反映させます。
mydestination = pcre:/etc/postfix/mydestinations.pcre |
編集し終えた後に、Postfix を再起動します。
sudo systemctl restart postfix |
テスト
PCRE の記述が正しく行われているかどうかのテストを行います。
# postmap -q localhost pcre:/etc/postfix/mydestinations.pcre ACCEPT # postmap -q 127.0.0.1 pcre:/etc/postfix/mydestinations.pcre ACCEPT # postmap -q google.co.jp pcre:/etc/postfix/mydestinations.pcre # |
うまく動作している事が確認できました。