В этой заметке расскажу, как настроить домен алиас через postfixadmin. Что должны получить в итоге:
– приём и отправка сообщений от алиаса домена
Что имеем: FreeBSD 8.0, postfixadmin-2.3_1, postfix-2.6.5,1, dovecot-1.2.10.
1) Правим postfix
В файле main.cf добавляем строчку
mysql:/usr/local/etc/postfix/mysql/virtual_mailbox_alias_domain.cf
в раздел virtual_alias_maps
У меня ещё такое прописано:
virtual_alias_domains = $virtual_alias_maps
Так же добавляем строку
mysql:/usr/local/etc/postfix/mysql/virtual_domain_alias.cf
в раздел virtual_mailbox_maps
#cat virtual_domain_alias.cf
user = postfix
password = postfix
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
#cat virtual_mailbox_alias_domain.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT username FROM mailbox, alias_domain
WHERE alias_domain.alias_domain = ‘%d’
AND mailbox.username=concat(‘%u’, ‘@’, alias_domain.target_domain )
AND mailbox.active = 1
2) Правим dovecot
В файле dovecot-sql.conf я добавил проверку в запросы:
OR username = ‘%n@domain.com.ua’
В итоге получилось так:
password_query = SELECT password FROM mailbox WHERE username = ‘%u’ OR username = ‘%n@domain.com.ua’ AND active = ‘1’
user_query = SELECT CONCAT(‘/var/spool/vmail/’,domain,’/’,maildir) AS home FROM mailbox WHERE username = ‘%n@%d’ OR username = ‘%n@domain.com.ua’
После этого перечитываем конфиги postfix’a и dovecot’a.
На всякий случай пару других источников
http://gfdsa.gfdsa.org/2009/03/16/alias_domain-postfixadmin-postfix-configuration/
http://www.opennet.ru/openforum/vsluhforumID1/89020.html