Postfix でキャッチオール アドレスを設定する場所 (仮想メールボックスが影響)

Postfix でキャッチオール アドレスを設定する場所 (仮想メールボックスが影響)

仮想メールボックスにメッセージを配信するように Postfix を正常に設定しました。

/etc/postfix/virtual 内にエイリアスとパイプを設定し、/etc/postfix/virtual_mailbox ファイル内にメールボックスを設定できます。

ただし、キャッチオール ドメインを設定してリモート メール アドレスを指定すると、Postfix で設定されている他のすべての仮想メールボックスと仮想エイリアスが上書きされます。仮想メールボックスが有効になっているときに、リモート メール アドレスへのキャッチオール転送を設定するにはどうすればよいでしょうか。

私は次のようにキャッチオールを設定しました:

@mydomain.com     [email protected]

ご協力いただきありがとうございます!

答え1

キャッチオールはvirtual_alias_mapsファイル内にある必要があります(あなたの場合/etc/postfix/virtual)そしてないファイル内virtual_mailbox

見てみましょうここでページを検索するMail forwarding domainsと、次の例が見つかります。

1 /etc/postfix/main.cf:
2     virtual_alias_domains = example.com ...other hosted domains...
3     virtual_alias_maps = hash:/etc/postfix/virtual
4 
5 /etc/postfix/virtual:
6     [email protected] postmaster
7     [email protected]        joe@somewhere
8     [email protected]       jane@somewhere-else
9     # Uncomment entry below to implement a catch-all address
10     # @example.com         jim@yet-another-site
11     ...virtual aliases for more domains...

答え2

私たちにとって最も簡単な解決策は、virtual_alias_mapsに3つのエントリを与えることでした。最初の一致まで順番に実行されます例えば。

/etc/postfix/main.cf:
virtual_alias_maps = 
    hash:/etc/postfix/virtual, 
    proxy:ldap:/etc/postfix/ldap/virtual_mail_exist_maps.cf, 
    hash:/etc/postfix/virtual_after_ldap

最初のエントリは「クラシック」なローカル ファイル仮想であり、次のようなものが必要な場合、.com ドメインから .net ドメインに転送される可能性があります。

/etc/postfix/virtual:
    @mydomain.com @mydomain.net

2番目のエントリはデータベース、SQL、LDAPなどです。アカウントが一致すると、Postfixはまさに検索されたメールここで終了します - メールはほぼ自分自身に正常に転送されます (postfix ロジック :))

/etc/postfix/ldap/virtual_mail_exist_maps.cf
     server_host     = x
     server_port     = x
     ...
     result_format   = %s

3番目のエントリは、別の単純なローカルファイルです。Postfixは、データベース検索が成功しなかった場合にのみここで検索を行います。ここには、キャッチオールアドレスを配置できます。

/etc/postfix/virtual_after_ldap
    @mydomain.net postmaster

関連情報