web-dev-qa-db-ja.com

postfix-すべてのメールを1人のユーザーにどのようにリダイレクトしますか(例:*@example.com→[email protected]

メールにPostfixを使用しています。/etc/aliasesおよびnewaliasesコマンドを使用して特定の電子メールをリダイレクトできることを知っています。たとえば、/ etc/aliasesにroot: userを挿入してnewaliases。ただし、*: userと同等のことを実行して、example.comへのすべての電子メールが[email protected]に送信されるようにします。

どうすればよいですか?

27
Rory

luser_relay = [email protected]main.cfは、必要なものです。

ユーザーチェックを無効にしてすべてのメールを受け入れるには、local_recipient_maps =オプションを追加する必要があります。 ドキュメント

19
womble

あなたが探しているのは仮想エイリアステーブルであり、以下を使用して行うことができます...

まず編集するか、存在しない場合は/ etc/postfix/virtualファイルを作成する必要があります。

example.com   whatever
@example.com  [email protected]

これが保存されたら、インデックスを生成するためにpostmap /etc/postfix/virtualを実行する必要があります/ etc/postfix/virtual.db Postfixが読み取ります。

次に/ etc/postfix/main.cfを編集し、次の行のコメントを外してください。

virtual_alias_maps = hash:/etc/postfix/virtual

これは実際に仮想エイリアステーブルについてpostfixに知らせ、それを使用します。

他の人が述べたようにluser_relayオプションを使用することの問題は、これがローカル配信エージェントによって不明なアドレスの最後の手段のユーザーとして扱われることです。 postfixが1つのドメインのメールのみを処理している場合、これはこれに利用できますが、他の構成エラーをマスクし、複数のドメインが処理されている場合、予期しない結果を引き起こす可能性があります。

私が言及する必要があると感じる1つの警告は、この性質のワイルドカードエイリアスを作成することにより、存在しないアドレスのメッセージを受け入れるためにメールシステムを開き、存在しないメールボックスがすぐにスパムでいっぱいになるリスクを負うことです。メールボックス。

17
Jeremy Bouse

実際には非常に簡単です。あなたがする必要があるすべてはあなたのmain.cfファイルにこのようなものを置くことです:

virtual_alias_maps = regexp:/etc/postfix/virtual_alias

regexpの部分でうまくいきます。また、/etc/postfix/virtual_aliasには次のように記述します。

/^test/ [email protected]

この例では、宛先が「test」で始まるすべてのメールを受信する必要があります。/etc/postfix/virtual_aliasをポストマップし、postfixをリロードすることを忘れないでください。

8
patryk

私にとって最も簡単に機能した上記の回答/コメントを組み合わせるには(1つのプライマリドメインがあります):
以下を/etc/postfix/main.cfに追加します。

luser_relay = [email protected] (or local system user)
local_recipient_maps =

local_recipient_maps =には値が設定されていません)

ローカルユーザーのlinuxアカウントを使用し、同じユーザーを/ etc/aliasesに追加して、ユーザーがすべてのメールをroot、postmasterなどに送信するようにします。

この同じアドレスをvirtual_alias_mapsで組み合わせて、仮想ドメインのキャッチオールをこの同じプライマリアカウントに指定することもできます。

詳しくは luser_relay を参照してください。

6
bshea

Mydomainにキャッチオールアドレスを使用する場合は、/etc/aliasesを正規表現と組み合わせて次のように使用できます。

/etc/postfix/main.cfに追加
alias_maps = hash:/etc/aliases, regexp:/etc/postfix/catch-all-local.regexp

/etc/postfix/catch-all-local.regexpに追加
!/^owner-/ your-catch-all-user

これでうまくいくはずです。それは私のために働き、virtual_alias_mapsを並行して設定して動作します。

3
Vasile Goian

Postfixにはあまり知られていない static ルックアップテーブルタイプがあり、まさにこの目的に使用できます。

alias_database = static:[email protected]
alias_maps = static:[email protected]

[email protected]がこのシステムのローカルではない場合、master.cfbounceで終わる行をdiscardに置き換えてメールループを回避することにより、すべてのバウンスメッセージを破棄することもできます。

0
user542704