У меня есть сервер postfix, работающий на моей машине CentOS 7.
Мне удалось чтобы настроить сервер postfix для использования моего сервера LDAP для получения учетных записей, и он отлично работает, электронные письма принимаются и сохраняются в файл почтового ящика.
Я использую Dovecot в качестве сервера IMAP. Они прекрасно работают вместе для всех пользователей, за исключением тех, у которых есть псевдонимы.
Проблема в том, что Dovecot ищет файл почтового ящика с атрибутом maildrop
пользователя (который, конечно, уникален). Однако файл почтового ящика, созданный Postfix, представляет собой список всех атрибутов mail
(которые являются списком псевдонимов).
Например, предположим, что пользователь с cn = user, maildrop = user, mail = user, mail = alias
.
В этом случае файл почтового ящика, созданный Postfix, будет называться user, псевдоним
, а Dovecot будет искать файл с именем пользователь
.
Теперь, конечно, я мог бы начать выяснять, как заставить Dovecot искать файл с именем пользователь, псевдоним
, но это будет означать, что каждый раз, когда новый псевдоним добавляется к учетной записи, все электронные письма нельзя будет отозвать, пока этот псевдоним не будет удален.
Так что мне нужна помощь, так это настроить Postfix для вызова файла почтового ящика пользователя
, даже если mail = у пользователя
несколько псевдонимов.
Соответствующая часть main.cf
:
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf
virtual_mailbox_domains = mail.ropi.dev, ropi.dev
virtual_mailbox_base = /var/mail/mail_default
virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf
virtual_minimum_uid = 3000
virtual_uid_maps = static:3000
virtual_gid_maps = static:3000
virtual_transport = virtual
ldap-accounts.cf
:
# ...
query_filter = (&(objectClass=mailUser)(maildrop=%u))
result_attribute = mail
version = 3
ldap-aliases.cf
:
# ...
query_filter = (&(objectClass=mailUser)(mail=%u))
result_attribute = maildrop
version = 3
] Я осознал свою ошибку, мне нужно было изменить ldap-accounts.cf
таким образом, чтобы он возвращал не псевдонимы ( mail
), а «основной» адрес электронной почты, который находится в атрибуте maildrop
.