Postfix 仮想エイリアスには、Unix アカウントにマップされ、一致しない包括的なエントリが含まれます。

Postfix 仮想エイリアスには、Unix アカウントにマップされ、一致しない包括的なエントリが含まれます。

私はpostfixメールサーバーを設定し、サーバー上の他のUNIXアカウントにマップしました。で定義された特定のアドレスに送信されたメールを受け入れ、/etc/postfix/valiasエイリアスとして存在しない限り、マップされたUNIXアカウントにルーティングしてからcatchallUNIXユーザーメールボックスに移動できるようにしたいです。

これを行うために正規表現を使用しようとしましたが、まだ機能しません。すべてのコンテンツは、既存のルールに関係なく、包括的なアカウントにルーティングされます。

/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のアドレスはプラス記号の拡張を許可します。

関連情報