Я настраиваю почтовый сервер, используя Postfix+Dovecot на RHEL7. Хотя это и не требуется, я хотел бы настроить его так, чтобы почтовый сервер мог размещать несколько доменов.
Проблема, которая возникла, состоит в том, что у меня есть два доменных имени, которые являются абсолютно синонимами: в какой-то момент в прошлом было введено альтернативное имя, чтобы сэкономить пользователям несколько нажатий клавиш. Все электронные письма, которые существуют с одним доменным именем, также существуют с другим. Я хочу, чтобы письма, отправляемые на эти два домена, доставлялись в одни и те же почтовые ящики. Я хотел бы избежать жесткого переписывания адресов в одно написание: если пользователь отправляет электронное письмо с адреса, содержащего длинное доменное имя, оно должно отображаться как таковое при доставке, то же самое с более короткими адресами электронной почты.
Postfix настроен на ретрансляцию почты на эти два домена
# in /etc/postfix/main.cf relay_domains = hash:/etc/postfix/relay_domains # in /etc/postfix/relay_domains my-long-named-domain.com lmtp:unix:private/lmtp-dovecot mydomain.com lmtp:unix:private/lmtp-dovecot
Postfix передает аутентификацию в Dovecot через Dovecot SASL
Аутентификация и доставка почты работают для логинов с коротким
user@mydomain.com
и не работают для длинных логиновuser@my-long-named-domain.com
выбрасывающих сообщениеUser does not exist
. Я предполагаю, что это происходит из-за путей, которые объяснены в 3 и 4.Dovecot использует механизм passwd-file для
userdb
иpassdb
, где%d
используется в путях к файлам, чтобы различать домены.# in /etc/dovecot/conf.d/auth-passwdfile.conf.ext passdb { driver = passwd-file args = scheme=CRYPT username_format=%n /etc/dovecot/%d/users } userdb { driver = passwd-file args = username_format=%n /etc/dovecot/%d/users default_fields = uid=vmail gid=vmail }
Файл пользователей находится только под коротким доменным именем:
/etc/dovecot/mydomain.com/users
.Параметр
mail_location
также использует%d
:mail_location = maildir:/var/vmail/%Ld/%Ln/Maildir
Вопрос: Есть ли способ сопоставить длинное доменное имя с коротким и сделать это только для этой конкретной пары доменов? Я хочу, чтобы все письма для этих двух доменов доставлялись в почтовые ящики с более коротким mydomain.com
:
/var/vmail/mydomain.com/user1/Maildir
/var/vmail/mydomain.com/user2/Maildir
/var/vmail/mydomain.com/user3/Maildir
Это должно быть сделано в Postfix или в Dovecot?
Я знаю, что могу создавать мягкие / жесткие ссылки, чтобы обеспечить существование обоих каталогов, но мне не нравится это решение (абсолютно!).
В целом, каков правильный подход к решению этой проблемы? Я довольно новичок в почтовом сервере.
Thanx