у меня есть работает Конфигурация Postfix с некоторыми локальными почтовыми ящиками, некоторыми локальными псевдонимами и несколькими чисто виртуальными доменами псевдонимов. Потому что мне утомительно добавлять все в virtual_alias_domains
Я спрашиваю: как их определить, просто используя в virtual_alias_maps
?
Пример:
### /etc/postfix/main.cf
myhostname = mx.example.com
virtual_alias_domains =
foo.example
bar.example
virtual_alias_maps = hash:/etc/postfix/virtual
### /etc/postfix/virtual
single-user@foo.example single-user@example.com
@bar.example whole-domain@example.com
# this one is missing in virtual_alias_domains and won't work
@baz.example me@example.com
При добавлении новых записей вроде baz.example
Я, наверное, забуду перечислить их в virtual_alias_domains
. Это также нарушает общее правило Не повторяйся.
Как избавиться от virtual_alias_domains
или "компилировать динамически"?
http://www.postfix.org/postconf.5.html#virtual_alias_domains говорит о дефолте virtual_alias_domains
является $virtual_alias_maps
:
Значение по умолчанию - $ virtual_alias_maps, поэтому вы можете хранить всю информацию о виртуальных псевдонимах доменов в одном месте.
Но, похоже, это не работает для меня.
Jan 31 00:09:25 HOSTNAME postfix/smtpd[5064]: NOQUEUE: reject: RCPT from FROM_HOSTNAME[185.XXX.XXX.XXX]: 454 4.7.1 <FROM_ADDRESS>:
Relay access denied; from=<FROM_ADDRESS> to=<TO_ADDRESS> proto=ESMTP helo=<FROM_HOSTNAME>
(анонимный журнал, вставлена новая строка для удобства чтения) Моя фактическая конфигурация:
# postconf -n | egrep ^virtual_
virtual_alias_maps = hash:/etc/postfix/virtual
# postconf | egrep ^virtual_alias
virtual_alias_address_length_limit = 1000
virtual_alias_domains = $virtual_alias_maps
virtual_alias_expansion_limit = 1000
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_recursion_limit = 1000
К сожалению, я не знаю, как сбросить конфигурацию virtual_alias_domains
после расширение переменных.