Postfix / Dovecot failed mail delivery

Недавно я начал развертывать почтовый сервер с Postfix и Dovecot на моем Ubuntu 18.04. LTS. К сожалению, получение почты не работает, и мне еще предстоит понять, почему.

Настройка

Dovecot

В Dovecot я включил IMAPS на порт 993, LMTP через 127.0.0.1:24 и SMTP-auth через unix_listener . Аутентификация выполняется против LDAP-сервера, который также должен предоставлять всех пользователей для моего почтового сервера.
user_filter в моем dovecot-ldap.conf.ext установлен на (& (objectClass = rspfMember) (uid =% Ln)) , как и все пользователи с этим objectClass должен иметь возможность отправлять / получать почту. uid записей LDAP равен локальной части почтового адреса, поэтому я использовал % Ln для фильтра.

Postfix

Я включил следующие ограничения:

smtpd_recipient_restrictions =
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauth_destination,
        reject_rbl_client zen.spamhaus.org,
        reject_rbl_client ix.dnsbl.manitu.net,
        check_policy_service inet:127.0.0.1:10023,
        reject_unverified_recipient,
        permit

Тестовый пример

Прежде всего, запуск sudo doveadm user myusername находит пользователя, которого я ищу, а sudo doveadm auth test myusername mypassword возвращает auth успешно , поэтому я предполагаю, что моя настройка LDAP верна.
Также возможна отправка писем из учетных записей, поэтому я могу войти в учетную запись через SMTP с любым почтовым клиентом, и поэтому с IMAP все будет успешно.

Если я отправляю письмо одному из пользователей, я вижу в файлах журнала, что ограничения RBL, а также postgrey пропускают почту, но после этого Postfix не может найти пользователя (или dovecot не может чтобы доставить почту, я не могу точно сказать):

postfix/smtpd[22142]: maps_find: local_recipient_maps: myuser: not found
postfix/smtpd[22142]: dict_proxy_lookup: table=unix:passwd.byname flags=lock|utf8_request key=@mydomain.com -> status=1 result=
postfix/smtpd[22142]: maps_find: local_recipient_maps: @mydomain.com: not found
postfix/smtpd[22142]: mail_addr_find: myuser@mydomain.com -> (not found)
postfix/smtpd[22142]: NOQUEUE: reject: RCPT from senderdomain.de[185.26.XX.XX]: 550 5.1.1 <myuser@mydomain.com>: Recipient address rejected: User unknown in local recipient table; from=<myuser@senderdomain.de> to=<myuser@mydomain.com> proto=ESMTP helo=<senderdomain.de>
postfix/smtpd[22142]: > senderdomain.de[185.26.XX.XX]: 550 5.1.1 <myuser@mydomain.com>: Recipient address rejected: User unknown in local recipient table

Если я запускаю postmap -s btree: / var / lib / postfix / verify_cache , я получаю результат

_LAST_CACHE_CLEANUP_COMPLETED_    1552662532
myuser@mydomain.com    0:0:1552662532:250 2.1.5 OK

, поэтому я предположим, что проверка получателя работает правильно. Кроме того, правильный maildir создается в / srv / vmail / myuser .

Где я могу найти дополнительную информацию о том, почему доставка почты не удалась?

Заранее большое спасибо.


Обновление

Я обновил свою конфигурацию LDAP для local_recipient_maps , поисковый запрос - query_filter = (rspfMail =% s) , где rspfMail - атрибут, в котором почта пользователей хранится. Когда я проверяю запрос с помощью postmap -vq (hidden) ldap: /etc/postfix/local_recipient_maps.cf , я получаю:

postmap: dict_ldap_connect: Successful bind to server ldap://192.168.**.**:389 with dn cn=**,ou=**,dc=**
postmap: dict_ldap_connect: Cached connection handle for LDAP source /etc/postfix/local_recipient_maps.cf
postmap: dict_ldap_lookup: /etc/postfix/local_recipient_maps.cf: Searching with filter (rspfMail=myuser@mydomain.com)
postmap: dict_ldap_get_values[1]: Search found 1 match(es)
postmap: dict_ldap_get_values[1]: Leaving dict_ldap_get_values
postmap: dict_ldap_lookup: Search returned nothing

Таким образом, поиск находит ровно один результат, как и ожидалось, но ничего не возвращает. Буду очень признателен за любую помощь.

0
задан 17 March 2019 в 15:14
1 ответ

Вы должны установить атрибут result_attribute:

result_attribute = rspfMail   #default is maildrop
result_format = %s   # default

http://www.postfix.org/ldap_table.5.html

0
ответ дан 5 December 2019 в 03:45

Теги

Похожие вопросы