私のサーバーの一部のプロセスはさまざまなシステムアカウントにメールを送信し、すべてのアカウントは自分のローカルコンピュータのルートディレクトリに送信されます。ルートアカウントを私の(外部)メールアドレスのエイリアスとして使用したいと思います。 exim4バージョン4.86_2を使用しています。
/etc/aliasesには次のものがあります。
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: [email protected]
"newaliases"コマンドを実行しましたが、"root"にメールを送信するとroot@localdomainに送信されます。
サーバーが/ etc / aliasesを読み取るか、システムメールを外部のメールアドレスに送信するにはどうすればよいですか?
答え1
ホストはシステムの標準名が何であるかを知らないので、すべてのローカルメールが実際にリモートメールであると仮定します。今は修正しました。この回答によると。
答え2
exim
システムエイリアスはデフォルトでは引用されません。メッセージを見つけて転送するには、適切なルーターを作成する必要があります/etc/aliases
。ルーターは次のようにする必要があります。
sys_alias:
driver = redirect
data = ${lookup{$local_part}lsearch{/etc/aliases}}
user = mailnull
group = mail
file_transport = address_file
pipe_transport = address_pipe
allow_fail
allow_defer
ルーターには、/etc/aliases
次の構文行を含むファイルが必要です。
localpart: alias
root: user
other: [email protected]
user: john,mary,[email protected]
検索だけではローカルセクションを検索できません。部分的な住所ではなく完全な住所を使用する必要がある場合は、それに応じて検索条件を変更する必要があります。[email protected]: [email protected]
ルーターは正しい順序でリストする必要があることに注意してください。