Назад | Перейти на главную страницу

постфикс: псевдонимы игнорируются

У меня есть сервер, который настроен как postfix MTA и на котором также работает узел munin. В / etc / aliases я добавил:

root:    hostmaster@my.domain

в main.cf постфикса настраивается:

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

После каждого изменения псевдонимов или файлов конфигурации постфикса я звонил newaliases или postmap <cfgfile> и перезапустите postfix.

Каждый раз, когда munin отправляет электронное письмо (об ошибке), я получаю это в файле maillog:

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=<20151222154519.5CFBA2011E0@my.domain>
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=<root@my.domain>, 
    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 <root@my.domain>: 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=<20151222154520.A98B72012D2@my.domain>
Dec 22 16:45:20 myserver postfix/bounce[22100]: 5CFBA2011E0: sender non-delivery 
    notification: A98B72012D2

Не понимаю, почему "root" (orig_to) не был заменен на "hostmaster@my.domain", как это было указано в файле псевдонимов. Кажется, постфикс добавляет myorigin значение "корень". Не уверен, почему, потому что я также указал append_at_myorigin = no.

Что тут происходит? Я хочу заменить "корневой" адрес на "hostmaster@my.domain". Как я могу это сделать?

В моем случае я хочу использовать / etc / aliases (потому что некоторые пакеты используют его, поэтому вам нужно проверять изменения и реплицировать в / etc / postfix / virtual

Проблема, почему это не работает, в моем происхождении. Если вы установите myorigin, все письма, отправленные в root, никто и другие локальные пользователи, автоматически изменятся на root @ myorigin

в моем случае: / etc / aliases:

nobody:   root
root: admin@example.com

/ 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@myhost.example.com (из-за myorigin) и затем куда-то отправляются.

Мне нужно изменить место назначения:

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

и теперь почта, отправленная никому, перенаправляется на root, который меняется на nobody@myhost.example.com, но поскольку он находится в моем месте назначения, он просматривает псевдонимы и изменяется на root@myhost.example.com, но поскольку он находится в моем месте назначения, он просматривает псевдонимы и перенаправляется на admin@example.com, которого нет в моем назначении, и отправляется туда, куда его следует отправить; D

Не уверен, что такое "my.domain", но псевдонимы используются только для местных доставок.

Вместо этого вы, вероятно, захотите использовать виртуальные карты.

Как root (или sudo)

В / etc / postfix / virtual (или где виртуальный является)

root    hostmaster@my.domain

В main.cf

virtual_maps = hash:/etc/postfix/virtual

или (современные версии постфикса)

virtual_alias_maps = hash:/etc/postfix/virtual

после изменения виртуальной карты

# postmap /etc/postfix/virtual
# postfix reload

Помните, что вся почта для "root" будет перенаправлена ​​на "hostmaster@my.domain".