Из мана в postfixadmin:mysql_virtual_alias_domain_maps.cf:
user = postfix
password = password
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias
_domain.target_domain) AND alias.active = 1
mysql_virtual_alias_maps.cf:
user = postfix
password = password
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
#expansion_limit = 100
virtual_alias_maps =
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
третью таблицу прописывать "можно и не надо" )
Параметр "virtual_alias_domains" не переопределяется.
---------
Чтобы ничего не падало, если в адресе получателя появляются нелатинские буквы, у меня в запросах используется CONVERT, примерно так:
query = select goto FROM alias WHERE address= CONVERT( _utf8 '%s' USING latin1 ) AND active='1'