私はpostfixメールサーバーを設定し、サーバー上の他のUNIXアカウントにマップしました。で定義された特定のアドレスに送信されたメールを受け入れ、/etc/postfix/valias
エイリアスとして存在しない限り、マップされたUNIXアカウントにルーティングしてからcatchall
UNIXユーザーメールボックスに移動できるようにしたいです。
これを行うために正規表現を使用しようとしましたが、まだ機能しません。すべてのコンテンツは、既存のルールに関係なく、包括的なアカウントにルーティングされます。
/etc/postfix/valias
[email protected] unix_acct1
[email protected] unix_acct2
/[email protected]$/ unix_acct1
/^.*@example.com$/ catchall_unix_acct
正しく合格したと思われるポストマップテスト結果
postmap -q "[email protected]" regexp:/etc/postfix/valias
postmap: warning: regexp map /etc/postfix/valias, line 1: ignoring unrecognized request
postmap: warning: regexp map /etc/postfix/valias, line 2: ignoring unrecognized request
unix_acct
ドメインにメールエイリアスがありません。
postmap -q "[email protected]" regexp:/etc/postfix/valias
postmap: warning: regexp map /etc/postfix/valias, line 1: ignoring unrecognized request
postmap: warning: regexp map /etc/postfix/valias, line 2: ignoring unrecognized request
catchall_unix_acct
valiasで定義されたアドレスに電子メールを送信すると、私が取り出さない限り、それらはcatchall_unix_acctで終わります。前述のように、送信したアドレスがエイリアスに設定されていない場合にのみ、包括的なエイリアスがメールを受信できるようにしたいと思います。これを行うのに何かがありましたか?
ありがとうございます!
答え1
ステップ2を実行する必要があります。
/etc/postfix/main.cf
この行を編集して追加してください。
virtual_alias_maps = regexp:/etc/postfix/valias
私のファイル/etc/postfix/valias
/^[email protected]$/ debian
/^user1(\+.*)[email protected]$/ ubuntu$1
/^user2(\+.*)[email protected]$/ debian$1
/^.*@example.com$/ root
行2と3のアドレスはプラス記号の拡張を許可します。