Postfix перестал отправлять мне почту с сервера Ubuntu 10.04LTS. Я потратил от часа до двух на проверку /etc/aliases
, запуск и повторный запуск sudo newaliases
и sudo postfix reload
, поиск моей проблемы в Интернете и т. д.
Пример записи журнала:
Dec 9 11:35:32 localhost postfix/local[1901]: warning: lookup owner-database, NIS domain nisdomain, map mail.aliases: no such map in server's domain
Dec 9 11:35:32 localhost postfix/local[1902]: B33FFACE000: to=<root@server9>, orig_to=<root>, relay=local, delay=833, delays=833/0.02/0/0.09, dsn=4.3.0, status=deferred (alias database unavailable)
я я используя NIS и я не есть mail.aliases
карта, но мой /etc/aliases
файл в порядке. Он все равно должен работать, правда? Неправильно.
Оказывается, проблема была в NIS. В alias_maps
Директива была установлена установщиком в закомментированной строке, удаление второй записи исправило ее.
alias_maps = hash:/etc/aliases, nis:mail.aliases
изменить на
alias_maps = hash:/etc/aliases
Я ожидаю, что в исходной строке Postfix сначала заглянет в /etc/aliases
, затем в mail.aliases
. Кто-нибудь хочет прокомментировать, почему postfix не отправляет / не должен отправлять вообще, а не только действительную запись из /etc/aliases
?
Перед поиском псевдонима postfix проверит все база данных независимо от того, доступна она или нет.
Псевдокод
if all mapping was OK (file was found, external server was reachable)
for each map in maps_array:
if found in map
return result
else
fail. give warning in maillog