web-dev-qa-db-ja.com

postfix:エイリアスは無視されます

Postfix MTAとして設定され、muninノードも実行するサーバーがあります。/etc/aliasesに追加しました:

root:    [email protected]

postfixのmain.cfで構成されています:

mydomain = my.domain
myorigin = $mydomain
alias_database = hash:/etc/aliases
relay_domains = my.domain
append_at_myorigin = no
...

エイリアスまたはpostfix構成ファイルを変更するたびに、newaliasesまたはpostmap <cfgfile>を呼び出してpostfixを再起動しました。

Muninが(エラー)電子メールを送信するたびに、これをメールログファイルで受け取ります。

Dec 22 16:45:19 myserver postfix/pickup[21509]: 5CFBA2011E0: uid=995  rom=<munin>
Dec 22 16:45:19 myserver postfix/cleanup[22094]: 5CFBA2011E0: 
    message-id=<[email protected]>
Dec 22 16:45:19 myserver postfix/qmgr[21510]: 5CFBA2011E0: from=<munin>, size=999, nrcpt=1 
    (queue active)
Dec 22 16:45:20 myserver postfix/smtp[22099]: 5CFBA2011E0: to=<[email protected]>, 
    orig_to=<root>, relay=internal.my.domain[XXX.182.189.136]:25, delay=4.2, 
    delays=3/0.01/1.1/0.09, dsn=5.1.1, status=bounced (Host 
    internal.my.domain[XXX.182.189.136] said: 550 5.1.1 <[email protected]>: Recipient address 
    rejected: User unknown in virtual mailbox table (in reply to RCPT TO command))
Dec 22 16:45:20 myserver postfix/cleanup[22094]: A98B72012D2: 
    message-id=<[email protected]>
Dec 22 16:45:20 myserver postfix/bounce[22100]: 5CFBA2011E0: sender non-delivery 
    notification: A98B72012D2

"root"(orig_to)が "[email protected]"に置き換えられなかった理由がわからない(エイリアスファイルで指定されているように)。 postfixはmyorigin値を "root"に追加しているようです。 append_at_myorigin = noも指定しているため、理由はわかりません。

何が起きてる? 「ルート」アドレスを「[email protected]」に置き換えたいのですが。どうやってやるの?

5
Steffen

「my.domain」が正確に何であるかはわかりませんが、 aliases はローカル配信にのみ使用されます。

代わりに、おそらく virtual maps を使用します。

Root(またはSudo)として

/ etc/postfix/virtual(またはvirtualがどこにあるか)

root    [email protected]

Main.cf

virtual_maps = hash:/etc/postfix/virtual

または(Postfixの最新バージョン)

virtual_alias_maps = hash:/etc/postfix/virtual

仮想マップが変更された後

# postmap /etc/postfix/virtual
# postfix reload

「root」宛てのメールはすべて「[email protected]」にリダイレクトされることに注意してください。

9
Ring Ø

私の場合、/ etc/aliasesを使用したいと思います(一部のパッケージで使用されているため、変更を確認して/ etc/postfix/virtualに複製する必要があります

それが機能しない理由は、myoriginにあります。 myoriginを設定した場合、rootに送信されたすべてのメール、誰も、その他のローカルは自動的にroot @ myoriginに変更されます

私の場合:/ etc/aliases:

nobody:   root
root: [email protected]

/ etc/mailname:

myhost.example.com

/etc/postfix/main.cf:

myorigin = /etc/mailname
myhostname = othername.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = othername, localhost.localdomain, localhost

この場合、nobodyに送信されたすべてのメールは[email protected]に変更され(myoriginのため)、その後どこかに送信されます。

目的地を変更する必要があります:

mydestination = myhost.example.com, othername, localhost.localdomain, localhost

nobodyに送信されたメールはrootにリダイレクトされ、nobody @ myhost.example.comに変更されますが、mydestinationにあるため、エイリアスを調べて[email protected]に変更されますが、mydestinationにあるため、エイリアスを調べて、mydestinationにない[email protected]にリダイレクトされ、送信先に送信されます; D

7
SledgehammerPL