Postfix catch allはvirtual_alias_maps内の他のすべてのパターンを上書きします

Postfix catch allはvirtual_alias_maps内の他のすべてのパターンを上書きします

Postfix で「catch all」と「overrides catch all」を使用してすべてのスレッドをチェックしたと思いますが、それでも問題の解決策が得られません。受信専用 SMTP サーバーを取得しました。これをオープン リレーにしたいのですが、でPostfix version 3.5.8実現できます。次に、受信者のドメインに応じてこれらのメッセージを少数のユーザーに送信したいので、 で pcre を使用していくつかのパターンを作成しました。virtual_alias_domains=static:yes/etc/postfix/main.cfvirtual_alias_maps = pcre:/etc/postfix/virtual

/1@test/ test
/2@test/ test2
/@test/ catchallfromtest
/@/ catchall

/etc/postfix/aliases

test: "/var/mail/test.mail"
test2: "/var/mail/test2.mail"
catchallfromtest: "/var/mail/catchallfromtest.mail"
catchall: "/var/mail/catchall.mail"

コメントアウトすれば  /@/ catchallメールは正しく送信されますが、そうしないとすべてのメールがキャッチオールに送られます。私は多くのアイデアを試しました(異なる順序、別々のファイルに分割、異なるデータベースタイプ、virtual_alias_map一部のユーザーに対して 、キャッチオールにrecipient_bcc_maps 、luser_relayただし のみで機能するため$mydomain私のケースでは機能しない、パターンと行で除外(!//))、キャッチオールの異なる形式(///.*@.*//^.*@.*&/など/.+@.+/)。 でテストしようとすると

postmap -q "1@test" pcre:/etc/postfix/virtual

正しいエイリアスが返されますが、メールを送信しようとすると catchall になってしまいます。他に試せることはありますか? [ドキュメント][1] より

Patterns are applied in the order as specified in the  table,  until  a pattern is found that matches the input string.

したがって、最初のパターンマッチの直後に停止するはずですが、そうはなりません。[1]:http://www.postfix.org/pcre_table.5.html

関連情報