Я настроил почтовый сервер Postfix для двух доменов: domain1.com и domain2.com.
В моей конфигурации domain1 имеет как виртуальных пользователей с Maildirs и псевдонимами для пересылки почты локальным пользователям (например, root, webmaster), так и несколько небольших списков рассылки. Он также имеет некоторые виртуальные сопоставления с нелокальными доменами.
С другой стороны, домен 2 имеет только сопоставления виртуальных псевдонимов, в основном соответствующих «пользователей» в домене 1 (например, почта на root@domain2.com должна пересылаться на root@domain1.com).
Моя проблема в том, что в настоящее время Postfix принимает почту даже для тех пользователей, которые не существуют в системе. Почта существующим пользователям и / etc / aliases работает нормально. В документации Postfix указано, что один и тот же домен никогда не должен указываться как в mydestination, так и в virtual_mailbox_maps, но если я укажу mydestination как пустое, тогда postfix проверяет получателей на virtual_mailbox_maps, но отклоняет почту для локальных псевдонимов domain1.com.
/etc/postfix/main.cf:
myhostname = domain1.com
mydomain = domain1.com
mydestinations = $myhostname, localhost.$mydomain, localhost
virtual_mailbox_domains = domain1.com
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_mailbox_base = /home/vmail/domains
virtual_alias_domains = domain2.com
virtual_alias_maps = hash:/etc/postfix/virtual
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
virtual_transport = dovecot
/ и т.д. / постфикс / виртуальный:
domain1.com right-hand-content-does-not-matter
firstname.lastname user1
[more aliases..]
domain2.com right-hand-content-does-not-matter
@domain2.com @domain1.com
/ и т.д. / постфикс / vmailbox:
user1@domain1.com user1/Maildir
user2@domain1.com user2/Maildir
/ etc / aliases:
root: :include:/etc/postfix/aliases/root
webmaster: :include:/etc/postfix/aliases/webmaster
[etc..]
Правильный ли этот подход или есть другой способ настроить Postfix с помощью Dovecot (виртуальных) Maildirs и псевдонимов Postfix?
Да, у вас не может быть домена в обоих mydestination
и virtual_mailbox_maps
. Чтобы преодолеть это, вам нужно установить mydestination
в main.cf
mydestination = localhost.$mydomain, localhost
И в /etc/postfix/virtual
root@domain1.com root@localhost
webmaster@domain1.com webmaster@localhost
при такой настройке электронная почта на root@domain1.com будет перенаправлена на root @ localhost. Поскольку localhost указан в mydestination
тогда postfix применит псевдоним в /etc/aliases