У меня есть сервер, который настроен как 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
к" root ". Не знаю почему, потому что я также указал append_at_myorigin = no
.
Что происходит здесь? Я хочу заменить "корневой" адрес на " hostmaster@my.domain". Как я могу это сделать?
Не уверен, что такое "мой.домен", но псевдонимы используются только для локальных поставок.
Вместо этого, вы, вероятно, захотите использовать виртуальные карты .
В качестве корневой (или sudo)
В /etc/postfix/virtual (или где virtual)
root hostmaster@my.domain
В main.cf
virtual_maps = hash:/etc/postfix/virtual
или (современные версии postfix)
virtual_alias_maps = hash:/etc/postfix/virtual
после изменения виртуальной карты
# postmap /etc/postfix/virtual
# postfix reload
Остерегайтесь, что вся почта для "root" будет перенаправлена на "hostmaster@my.domain".
В моем случае я хочу использовать / etc / aliases (потому что некоторые пакеты используют это, поэтому вам нужно проверить изменения и реплицировать в / etc / postfix / virtual
Проблема, почему это не работает, находится в myorigin. Если вы установите myorigin, все письма, отправленные в root, никто и другие локальные пользователи, автоматически изменятся на root @ myorigin
в моем случае: /etc/aliases:
nobody: root
root: admin@example.com
/etc/mailname:[12147ght/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
В этом случае все письма, отправленные никому, меняются на (скрытые) (из-за myorigin), а затем отправляются где-то там.
Мне нужно изменить mydestination:
mydestination = myhost.example.com, othername, localhost.localdomain, localhost
, и теперь почта, отправляемая никому, перенаправляется на root, который меняется на (скрытый), но поскольку он находится в mydestination, он просматривает псевдонимы и изменяется на (скрытый), но потому что он находится в моем месте назначения, он просматривает псевдонимы и перенаправляется в (скрытый), который не находится в моем месте назначения, и отправляется туда, куда он должен быть отправлен; D