The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Проверка postfix-ом пользователей в dovecot."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 25-Фев-08, 14:55 
Здраствуйте!
Настраиваю postfix с доставкой почты виртуальным пользователям через dovecot.
Не хочу использовать локальную базу пользователей, хочется, чтобы postfix узнавал о существоаниии того или иного ящика у dovecot-а. Но ни как не получается это сделать, хотя параметр reject_unverified_recipient в smtpd_recipient_restrictions добавил.
Собственно конфигурация:
========================= main.cf ============================
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
default_privs = nobody
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = domain.tld
myhostname = mail.domain.tld
mynetworks = 192.168.89.0/24, 127.0.0.0/8
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
sample_directory = /usr/share/doc/postfix-2.3.3/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_always_send_ehlo = yes
smtpd_hard_error_limit = 8
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, reject_unverified_recipient
unknown_local_recipient_reject_code = 550
virtual_gid_maps = static:2000
virtual_mailbox_domains = /var/mail/domains
virtual_minimum_uid = 2000
virtual_transport = dovecot
virtual_uid_maps = static:2000

========================= master.cf ============================
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}

================================================================

Вот что в debug-логах по поводу reject_unverified_recipient, такое ощущение, что к dovecot нет обращения :-(. Как эту проблему решить?

========================= mail.log =============================
Feb 25 14:24:13 host postfix/smtpd[7701]: generic_checks: name=reject_unverified_recipient
Feb 25 14:24:13 host postfix/smtpd[7701]: reject_unverified_address: nousers@domain.tld
Feb 25 14:24:13 host postfix/smtpd[7701]: connect to subsystem private/verify
Feb 25 14:24:13 host postfix/smtpd[7701]: send attr request = query
Feb 25 14:24:13 host postfix/smtpd[7701]: send attr address = nousers@domain.tld
Feb 25 14:24:13 host postfix/smtpd[7701]: private/verify socket: wanted attribute: status
Feb 25 14:24:13 host postfix/smtpd[7701]: input attribute name: status
Feb 25 14:24:13 host postfix/smtpd[7701]: input attribute value: 0
Feb 25 14:24:13 host postfix/smtpd[7701]: private/verify socket: wanted attribute: recipient_status
Feb 25 14:24:13 host postfix/smtpd[7701]: input attribute name: recipient_status
Feb 25 14:24:13 host postfix/smtpd[7701]: input attribute value: 3
Feb 25 14:24:13 host postfix/smtpd[7701]: private/verify socket: wanted attribute: reason
Feb 25 14:24:13 host postfix/smtpd[7701]: input attribute name: reason
Feb 25 14:24:13 host postfix/smtpd[7701]: input attribute value: Address verification in progress
Feb 25 14:24:13 host postfix/smtpd[7701]: private/verify socket: wanted attribute: (list terminator)
Feb 25 14:24:13 host postfix/smtpd[7701]: input attribute name: (end)
Feb 25 14:24:13 host postfix/cleanup[7715]: 21CDC2DC4A8: message-id=<20080225112413.21CDC2DC4A8@mail.domain.tld>
Feb 25 14:24:13 host postfix/qmgr[7675]: 21CDC2DC4A8: from=<postmaster@mail.domain.tld>, size=275, nrcpt=1 (queue active)
Feb 25 14:24:13 host postfix/pipe[7716]: 21CDC2DC4A8: to=<nousers@domain.tld>, relay=dovecot, delay=0.03, delays=0.02/0/0/0, dsn=2.0.0, status=deliverable (delivers to command: /usr/libexec/dovecot/deliver)
Feb 25 14:24:13 host postfix/qmgr[7675]: 21CDC2DC4A8: removed
Feb 25 14:24:16 host postfix/smtpd[7701]: send attr request = query
Feb 25 14:24:16 host postfix/smtpd[7701]: send attr address = nousers@domain.tld
Feb 25 14:24:16 host postfix/smtpd[7701]: private/verify socket: wanted attribute: status
Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute name: status
Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute value: 0
Feb 25 14:24:16 host postfix/smtpd[7701]: private/verify socket: wanted attribute: recipient_status
Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute name: recipient_status
Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute value: 0
Feb 25 14:24:16 host postfix/smtpd[7701]: private/verify socket: wanted attribute: reason
Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute name: reason
Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute value: delivers to command: /usr/libexec/dovecot/deliver
Feb 25 14:24:16 host postfix/smtpd[7701]: private/verify socket: wanted attribute: (list terminator)
Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute name: (end)
Feb 25 14:24:16 host postfix/smtpd[7701]: generic_checks: name=reject_unverified_recipient status=0

================================================================

Спасибо.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от sargio (ok) on 25-Фев-08, 15:55 
>Здраствуйте!
>Настраиваю postfix с доставкой почты виртуальным пользователям через dovecot.
>Не хочу использовать локальную базу пользователей, хочется, чтобы postfix узнавал о существоаниии

http://www.postfix.org/SASL_README.html

Dovecot SASL configuration for the Postfix SMTP server

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 25-Фев-08, 16:48 
>>Здраствуйте!
>>Настраиваю postfix с доставкой почты виртуальным пользователям через dovecot.
>>Не хочу использовать локальную базу пользователей, хочется, чтобы postfix узнавал о существоаниии
>
>http://www.postfix.org/SASL_README.html
>
>Dovecot SASL configuration for the Postfix SMTP server

Мне не SASL аторизация нужна. Необходимо, чтобы, пример... Приходит пиьсмо c:
mail from: <user@domain2.tld>
rcpt to: <nouser@domain.tld>
прежде чем ответить: 250 2.1.5 Ok на rcpt to, была проверка, есть ли такой mailbox в dovecot. В общем вместо virtual_mailbox_maps = type:/file была проверка на существование виртуального ящика в dovecot.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от ALex_hha (??) on 25-Фев-08, 19:09 
>[оверквотинг удален]
>>http://www.postfix.org/SASL_README.html
>>
>>Dovecot SASL configuration for the Postfix SMTP server
>
>Мне не SASL аторизация нужна. Необходимо, чтобы, пример... Приходит пиьсмо c:
>mail from: <user@domain2.tld>
>rcpt to: <nouser@domain.tld>
>прежде чем ответить: 250 2.1.5 Ok на rcpt to, была проверка, есть
>ли такой mailbox в dovecot. В общем вместо virtual_mailbox_maps = type:/file
>была проверка на существование виртуального ящика в dovecot.

А зачем такое нужно? Чем не устраивает тот же mysql для хранения инф-ции о почтовых ящиках?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 01:22 
>А зачем такое нужно? Чем не устраивает тот же mysql для хранения
>инф-ции о почтовых ящиках?

Нужно, потому что в RHEL 5 postfix скомпилирован без mysql/pgsql, и нет возможности собрать его с их поддержкой. Поднимать LDAP то-же не очень хочется.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

8. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 27-Фев-08, 06:27 
>>А зачем такое нужно? Чем не устраивает тот же mysql для хранения
>>инф-ции о почтовых ящиках?
>
>Нужно, потому что в RHEL 5 postfix скомпилирован без mysql/pgsql, и нет
>возможности собрать его с их поддержкой. Поднимать LDAP то-же не очень
>хочется.

Так как вы хотите - настроить это нельзя. пересобирайте постфикс с поддержкой MySQL.

Выбрали для себя РХЕЛ - ну и рхельтесь с ним.
Выбрали операционку - играйте по её правилам, а не требуйте извращений в построении систем.

http://www.postfix.org/VIRTUAL_README.html

Читать документацию по диагонали - очень плохо.

virtual_mailbox_domains = /var/mail/domains
virtual_minimum_uid = 2000
virtual_transport = dovecot
virtual_uid_maps = static:2000


Параметры virtual_mailbox_maps,virtual_alias_maps - придумали не для Вас, их нужно проигнорить ?

А, у вас же поддержки мускула от редхата в коробку не положили...


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от Savl on 27-Фев-08, 15:43 
Вы бы помедитировали над http://www.postfix.org/postconf.5.html#virtual_mailbox_domains, прежде чем кричать.
А при чём здесь вообще MySQL? Что мешает в Berkeley DB или в хэшированной таблице хранить базу пользователей?
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 27-Фев-08, 17:52 
>Вы бы помедитировали над http://www.postfix.org/postconf.5.html#virtual_mailbox_domains, прежде чем кричать.

я то как-раз помедитировал:

The SMTP server validates recipient addresses with $virtual_mailbox_maps and rejects mail for non-existent recipients. See also the virtual mailbox domain class in the ADDRESS_CLASS_README file.

>А при чём здесь вообще MySQL? Что мешает в Berkeley DB или
>в хэшированной таблице хранить базу пользователей?

Задача такая у вопрошающего, именно мускул, не читали тред ?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 21:32 
>>А при чём здесь вообще MySQL? Что мешает в Berkeley DB или
>>в хэшированной таблице хранить базу пользователей?
>
>Задача такая у вопрошающего, именно мускул, не читали тред ?

Мне мускуль не нужен. Мне нужна проверка в dovecot. Конечно можно по крону создавать hash файл с существующими mailbox-ами, но хочется без костылей.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

25. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 28-Фев-08, 07:46 
>>>А при чём здесь вообще MySQL? Что мешает в Berkeley DB или
>>>в хэшированной таблице хранить базу пользователей?
>>
>>Задача такая у вопрошающего, именно мускул, не читали тред ?
>
>Мне мускуль не нужен. Мне нужна проверка в dovecot. Конечно можно по
>крону создавать hash файл с существующими mailbox-ами, но хочется без костылей.
>

Костыль, в данном случае, как раз то, что вы хотите.

постом выше написана цитата из документации

The SMTP server validates recipient addresses with $virtual_mailbox_maps and rejects mail for non-existent recipients. See also the virtual mailbox domain class in the ADDRESS_CLASS_README file.


SMTP-сервер осуществляет проверку адресов получателей с использованием параметра $virtual_mailbox_maps и отклоняет почту для несуществующих. Смотри соответствующую доку.


Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

28. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 08-Мрт-08, 22:22 
>[оверквотинг удален]
>
>постом выше написана цитата из документации
>
>The SMTP server validates recipient addresses with $virtual_mailbox_maps and rejects mail for
>non-existent recipients. See also the virtual mailbox domain class in the
>ADDRESS_CLASS_README file.
>
>
>SMTP-сервер осуществляет проверку адресов получателей с использованием параметра $virtual_mailbox_maps и отклоняет почту
>для несуществующих. Смотри соответствующую доку.

Так же в документации написано:
reject_unverified_recipient
Reject the request when mail to the RCPT TO address is known to bounce, or when the recipient address destination is not reachable. Address verification information is managed by the verify(8) server; see the ADDRESS_VERIFICATION_README file for details.
The unverified_recipient_reject_code parameter specifies the response when an address is known to bounce (default: 450, change into 550 when you are confident that it is safe to do so). Postfix replies with 450 when an address probe failed due to a temporary problem. This feature is available in Postfix 2.1 and later.


Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

32. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 09-Мрт-08, 01:04 
>[оверквотинг удален]
>reject_unverified_recipient
>Reject the request when mail to the RCPT TO address is known
>to bounce, or when the recipient address destination is not reachable.
>Address verification information is managed by the verify(8) server; see the
>ADDRESS_VERIFICATION_README file for details.
>The unverified_recipient_reject_code parameter specifies the response when an address is known to
>bounce (default: 450, change into 550 when you are confident that
>it is safe to do so). Postfix replies with 450 when
>an address probe failed due to a temporary problem. This feature
>is available in Postfix 2.1 and later.

Что, снова документацию вслух почитать ?  Секунду, ща оформим.

>Address verification information is managed by the verify(8) server; see the
>ADDRESS_VERIFICATION_README file for details.

Проверка адреса отправителя осуществляется сервисом verify(8), о чем можно почитать в доке
ADDRESS_VERIFICATION_README.

Открываем доку по ссылке (жаль что вы так и не полюбили официальный сайт постфикса)
http://www.postfix.org/ADDRESS_VERIFICATION_README.html

и видим там описание как оно работает.
А работает оно только для релеев, в случае проверки получателя письма, путем попытки доставки письма на интересующий адрес через более приоритетный МХ. А у вас не релей.

Не надо читать документацию по кускам, ок ?

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

13. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 21:29 
>Так как вы хотите - настроить это нельзя. пересобирайте постфикс с поддержкой
>MySQL.

А зачем тогда придумали параметр reject_unverified_recipient? Я думал он для этого и служит. По крайней мере связка Primary MX - Backup MX так работает. Бэкапный MX ничего не знает о существовании конкретного email-а в домене, который он обслуживает, а прежде чем ответить на "RCPT TO", это самое "TO" проверяет у примари MX.

>
>Выбрали для себя РХЕЛ - ну и рхельтесь с ним.
>Выбрали операционку - играйте по её правилам, а не требуйте извращений в
>построении систем.

Не думаю, что задуманное - извращение.

>[оверквотинг удален]
>
>Читать документацию по диагонали - очень плохо.
>
>virtual_mailbox_domains = /var/mail/domains
>virtual_minimum_uid = 2000
>virtual_transport = dovecot
>virtual_uid_maps = static:2000
>
>
>Параметры virtual_mailbox_maps,virtual_alias_maps - придумали не для Вас, их нужно проигнорить ?

Документацию я прекрасно читал. В одном из своих комментариев я так и писал:
В общем вместо virtual_mailbox_maps = type:/file была бы проверка на существование виртуального ящика в dovecot.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от ALex_hha (??) on 27-Фев-08, 21:29 
>>А зачем такое нужно? Чем не устраивает тот же mysql для хранения
>>инф-ции о почтовых ящиках?
>
>Нужно, потому что в RHEL 5 postfix скомпилирован без mysql/pgsql, и нет
>возможности собрать его с их поддержкой. Поднимать LDAP то-же не очень
>хочется.

почему нет? Что вам мешает скачать соответствующий src.rpm и включить mysql?


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

18. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 21:56 
>>>А зачем такое нужно? Чем не устраивает тот же mysql для хранения
>>>инф-ции о почтовых ящиках?
>>
>>Нужно, потому что в RHEL 5 postfix скомпилирован без mysql/pgsql, и нет
>>возможности собрать его с их поддержкой. Поднимать LDAP то-же не очень
>>хочется.
>
>почему нет? Что вам мешает скачать соответствующий src.rpm и включить mysql?

Потому что, этот сервер будет настроен и передан в филиал. И там, в случае исправления какой либо уязвимости в postfix должны только мочь yum update сделать, а не пересобирать пакет, тем более gcc и всего остального на сервере не будет.


Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

23. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 28-Фев-08, 07:42 
>[оверквотинг удален]
>>>Нужно, потому что в RHEL 5 postfix скомпилирован без mysql/pgsql, и нет
>>>возможности собрать его с их поддержкой. Поднимать LDAP то-же не очень
>>>хочется.
>>
>>почему нет? Что вам мешает скачать соответствующий src.rpm и включить mysql?
>
>Потому что, этот сервер будет настроен и передан в филиал. И там,
>в случае исправления какой либо уязвимости в postfix должны только мочь
>yum update сделать, а не пересобирать пакет, тем более gcc и
>всего остального на сервере не будет.

1. Поставь Debian и будет тебе счастье.
2. Сделай локальный репозиторий, и выкладывай туда свои пакеты. Тем же самым юмом будешь обновляться.
3. Высылай готовые рпм или деб.


Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

29. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 08-Мрт-08, 22:25 
>1. Поставь Debian и будет тебе счастье.
>2. Сделай локальный репозиторий, и выкладывай туда свои пакеты. Тем же самым
>юмом будешь обновляться.
>3. Высылай готовые рпм или деб.

Корпоративная политика. RedHat и некаких пересборок.

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

33. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 09-Мрт-08, 01:05 
>>1. Поставь Debian и будет тебе счастье.
>>2. Сделай локальный репозиторий, и выкладывай туда свои пакеты. Тем же самым
>>юмом будешь обновляться.
>>3. Высылай готовые рпм или деб.
>
>Корпоративная политика. RedHat и некаких пересборок.

Ну вот тогда и задавайте вопросы "как настраивать" тем, кто рулит корпоративной политикой.
Или используйте LDAP, он вроде как в коробке.

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

4. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от Savl on 26-Фев-08, 01:32 
Речь, если я правильно понял, всё-таки об аутентификации.
SASL - один из возможных механизмов сделать то, о чём Вы спрашиваете.
Какой бы способ хранения базы пользователей Вы ни выбрали, Ваш выбор должен быть виден из цитируемых фрагментов конфигурационных файлов.

На первый взгляд в Вашем master.cf значение поля user должно быть другим:
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}

Про то, знает ли Ваш postfix о том, что Вы от него ждёте использования механизма аутентификации dovecot, или, точнее, выполнялись ли команды
postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1 Вы не сообщили.

Вами не было приведено содержание dovecot.conf, а уж на его секции про socket-listen и protocol lda просто необходимо взглянуть, чтобы ответить на Ваш вопрос корректно.

Если я не ошибаюсь, то параметр, который Вы хотите использовать в main.cf, называется unverified_recipient_reject_code.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 01:46 
>Речь, если я правильно понял, всё-таки об аутентификации.

Нет, не о ней. Аутентификации нужна тогда, когда из сети не принадлежащей mynetworks у сервера, нужно отослать e-mail на домен который не принадлежит серверу, через который отсылается smtp-конверт.

Здесь же ситуация другая. От какого-либа MTA (к примеру с mxs.mail.ru) поступает mail в домен, который на сервере виртуальный. Так, вот проверить надо не только то, что этот домен принадлежит нашему серверу, но и существование mailbox-а в этом домене. И хочется сделать так, чтобы это проверялось через dovecot. И отлуп, при не существовании mailbox-а, был до DATA.
У меня же получается так, что почта полностью принимается, потом идёт доставка на dovecot, dovecot говорит, что нет такого mailbox и постфикс шлёт bounce. Видимо параметр reject_unverified_recipient, который работает для SMTP транспорта так:
при почтуплении RCPT MAIL подключается к нужному MAIL-серверу, получает ответ по этому пользователю от этого сервера и такой же ответ шлёт клиенту,
c виртуальным транспортом работает как то не так.

>Вами не было приведено содержание dovecot.conf, а уж на его секции про
>socket-listen и protocol lda просто необходимо взглянуть, чтобы ответить на Ваш
>вопрос корректно:

protocols = imap pop3
ssl_disable = no
ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
ssl_cipher_list = ALL:!LOW:!SSLv2
login_process_size = 64
mail_location = maildir:/var/spool/mail/%d/%n
first_valid_uid = 2000
last_valid_uid = 2000
first_valid_gid = 2000
last_valid_gid = 2000
protocol imap {
}
protocol pop3 {
}
protocol lda {
  postmaster_address = postmaster@mail.domain.tld
  hostname = mail.domain.tld
  mail_plugin_dir = /usr/lib/dovecot/lda
}
auth_verbose = yes
auth default {
  mechanisms = plain login digest-md5 cram-md5
  passdb passwd-file {
    args = /var/mail/vmailpasswd
  }
  userdb passwd-file {
    args = /var/mail/vmailpasswd
  }
  user = vmail
  socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = vmail
      group = vmail
    }
    client {
      path = /var/spool/postfix/private/dovecot-smtp-auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}
dict {
}
plugin {
}

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от Savl on 27-Фев-08, 03:33 
Независимо от Вашего мнения предмет обсуждения называется SMTP аутентификацией.

Вид конфигурационного файла dovecot напоминает правду. При этом несколько бы успокоило Ваше заявление в явном виде о том, что реальный домен замаскирован и используемый Вами файл конфигурации несколько отличается от приведённой цитаты. Смутно беспокоит, правда, отсутствие записей в секциях IMAP и POP3, но про чтение почты Вы, вроде, пока не спрашивали.

В моём предыдущем комментарии было указано несколько существенных обстоятельств, которые Вы проигнорировали. Обратите внимание на то, как должно выглядеть поле user в master.cf на самом деле, а также на то, что значение параметра virtual_mailbox_domains в Вашем main.cf выглядит некорректным.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 27-Фев-08, 18:04 
>Независимо от Вашего мнения предмет обсуждения называется SMTP аутентификацией.

ню-ню.. Независимо от _Вашего_ мнения предмет обсуждения не является SMTP аутентификацией.

Человек хочет, чтобы транспорт сам проверял наличие пользователя, на этапе приема письма. Исходя из реализации постфикса это мне кажется невозможным, и в руководствах делается не так.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

21. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 22:23 
>
>Человек хочет, чтобы транспорт сам проверял наличие пользователя, на этапе приема письма.
>Исходя из реализации постфикса это мне кажется невозможным, и в руководствах
>делается не так.

Ага именно этого и хочу и кажется, что параметр reject_unverified_recipient именно это и должен делать.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

17. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 21:53 
>Независимо от Вашего мнения предмет обсуждения называется SMTP аутентификацией.
>
>Вид конфигурационного файла dovecot напоминает правду. При этом несколько бы успокоило Ваше
>заявление в явном виде о том, что реальный домен замаскирован и
>используемый Вами файл конфигурации несколько отличается от приведённой цитаты.

Да, домен замаскирован.

>
>В моём предыдущем комментарии было указано несколько существенных обстоятельств, которые Вы проигнорировали.
>Обратите внимание на то, как должно выглядеть поле user в master.cf
>на самом деле

Можно по подробнее, dovecot работает от пользователя vmail, соответственно, и там этот пользователь. Может я что-то не так понимаю?

>,а также на то, что значение параметра virtual_mailbox_domains
>в Вашем main.cf выглядит некорректным.

Он корректен, virtual_mailbox_domains указывает на файл, в котором перечислены виртуальные домены.
Если есть необходимость и вам не лень на него посмотреть, могу предоставить debug-лог приёма e-mail.
Сам я этот лог весь просмотрел, вижу что всё отрабатывает корректно. Хочу ещё раз обратить внимание на то, что, в принципе, вся связка работает корректно.
1. Почта принимается postfix-ом;
2. Передаётся dovecot-у;
3. Dovecot или укладывает почту в ящик пользователя или шлётся bounce, если ящика адресата в dovecot не существует.
Так вот хочется, чтобы прежде чем postfix принял почту, он у dovecot уточнил, есть ли такой реципиент.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

15. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от ALex_hha (??) on 27-Фев-08, 21:32 
>[оверквотинг удален]
>Нет, не о ней. Аутентификации нужна тогда, когда из сети не принадлежащей
>mynetworks у сервера, нужно отослать e-mail на домен который не принадлежит
>серверу, через который отсылается smtp-конверт.
>
>Здесь же ситуация другая. От какого-либа MTA (к примеру с mxs.mail.ru) поступает
>mail в домен, который на сервере виртуальный. Так, вот проверить надо
>не только то, что этот домен принадлежит нашему серверу, но и
>существование mailbox-а в этом домене. И хочется сделать так, чтобы это
>проверялось через dovecot. И отлуп, при не существовании mailbox-а, был до
>DATA.

virtual_mailbox_maps спасет отца русской демократии

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

20. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 22:20 
>
>virtual_mailbox_maps спасет отца русской демократии

Да знаю я про него, мне нужно преверять пользователей не в БД, не в файлах, а у dovecot.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

24. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 28-Фев-08, 07:45 
>>
>>virtual_mailbox_maps спасет отца русской демократии
>
>Да знаю я про него, мне нужно преверять пользователей не в БД,
>не в файлах, а у dovecot.

Плохо знаете, если считаете что он не обязателен.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

30. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 08-Мрт-08, 22:27 
>>>
>>>virtual_mailbox_maps спасет отца русской демократии
>>
>>Да знаю я про него, мне нужно преверять пользователей не в БД,
>>не в файлах, а у dovecot.
>
>Плохо знаете, если считаете что он не обязателен.

Он, не обязательный. В конфигурации Primary MX и Backup MX, как я писал выше, он хорошо заменяется на reject_unverified_recipient.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

34. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 09-Мрт-08, 01:06 
>>>>
>>>>virtual_mailbox_maps спасет отца русской демократии
>>>
>>>Да знаю я про него, мне нужно преверять пользователей не в БД,
>>>не в файлах, а у dovecot.
>>
>>Плохо знаете, если считаете что он не обязателен.
>
>Он, не обязательный. В конфигурации Primary MX и Backup MX, как я
>писал выше, он хорошо заменяется на reject_unverified_recipient.

Что же вы его тогда не заменили, раз он хорошо заменяется на праймари МХ?

Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

27. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от ALex_hha (??) on 28-Фев-08, 19:10 
>>
>>virtual_mailbox_maps спасет отца русской демократии
>
>Да знаю я про него, мне нужно преверять пользователей не в БД,
>не в файлах, а у dovecot.

а где по вашему будет хранить пользователей dovecot? ;) Не занимайтесь ерундой, проверку существования пользователя должен проверять MTA, имхо.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

31. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 08-Мрт-08, 22:30 
>
>а где по вашему будет хранить пользователей dovecot? ;) Не занимайтесь ерундой,
>проверку существования пользователя должен проверять MTA, имхо.

В том же mysql, была бы поддержка mysql в postfix от RedHat, вопрос бы не возник.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

35. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 09-Мрт-08, 01:07 
>>
>>а где по вашему будет хранить пользователей dovecot? ;) Не занимайтесь ерундой,
>>проверку существования пользователя должен проверять MTA, имхо.
>
>В том же mysql, была бы поддержка mysql в postfix от RedHat,
>вопрос бы не возник.

Про корпоративную политику я уже высказал свое мнение в другой подветке данного обсуждения.

меняйте либо политику, либо пользуйте правильно то что есть.

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

16. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от ALex_hha (??) on 27-Фев-08, 21:34 
>virtual_mailbox_domains = /var/mail/domains

какой то бред. Здесь надо указывать виртуальные домены, например - my.virtual.domain.com

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 27-Фев-08, 22:03 
>>virtual_mailbox_domains = /var/mail/domains
>
>какой то бред. Здесь надо указывать виртуальные домены, например - my.virtual.domain.com

А если почитать документацию?

virtual_mailbox_domains - This parameter expects the same syntax as the mydestination configuration parameter.
mydestination - Specify a list of host or domain names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

22. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от PavelR (??) on 28-Фев-08, 07:35 
>>>virtual_mailbox_domains = /var/mail/domains
>>
>>какой то бред. Здесь надо указывать виртуальные домены, например - my.virtual.domain.com
>
>А если почитать документацию?
>

Да кто ж её когда пишет в форум читал ?


ЗЫЖ: я не исключение ...


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

26. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от ALex_hha (??) on 28-Фев-08, 19:07 
>[оверквотинг удален]
>
>А если почитать документацию?
>
>virtual_mailbox_domains - This parameter expects the same syntax as the mydestination configuration
>parameter.
>mydestination - Specify a list of host or domain names, "/file/name" or
>"type:table" patterns, separated by commas and/or whitespace. A "/file/name" pattern is
>replaced by its contents; a "type:table" lookup table is matched when
>a name matches a lookup key (the lookup result is ignored).
>Continue long lines by starting the next line with whitespace.

Не эффективно держать список доменов в обчном файле, имхо

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

36. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от stas (??) on 09-Мрт-08, 01:35 
>[оверквотинг удален]
>Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute name: reason
>Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute value: delivers to command: /usr/libexec/dovecot/deliver
>
>Feb 25 14:24:16 host postfix/smtpd[7701]: private/verify socket: wanted attribute: (list terminator)
>Feb 25 14:24:16 host postfix/smtpd[7701]: input attribute name: (end)
>Feb 25 14:24:16 host postfix/smtpd[7701]: generic_checks: name=reject_unverified_recipient status=0
>
>================================================================
>
>Спасибо.

Если бы Вы внимательно прочитали как работает проверка адреса в Postfix (http://www.postfix.org/ADDRESS_VERIFICATION_README.html), то не ломали бы копья столько времени.
При такой настройке postfix без использования параметра  virtual_mailbox_maps скорее всего не обойтись, прочтите http://www.postfix.org/VIRTUAL_README.html. Там есть такие строки:
NEVER put a virtual MAILBOX wild-card in the virtual ALIAS file!!
Note: if you specify a wildcard in virtual_mailbox_maps, then you still need to configure the non-Postfix mailbox store to receive mail for any address in that domain.

Что, собственно говоря, Вы и сделали.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

37. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от andrey (??) on 29-Дек-15, 16:43 
Удивительно, спустя столько лет, когда потребовалось снова настроить связку dovecot и postfix, при гуглении решения по такому же вопросу гугл привёл меня сюда в мою же ветку (забыл я, что уже пытался решить такую задачу здесь на форуме). Сейчас судя по всему задача уже решаема, но пока не пойму, что на postfix нужно сделать:
http://wiki.dovecot.org/LDA/Postfix, последний абзац:
Dynamic address verification with LMTP

With Dovecot 2.0 you can also use LMTP and the Postfix setting "reject_unverified_recipient" for dynamic address verification. It's really nice because Postfix doesn't need to query an external datasource (MySQL, LDAP...). Postfix maintain a local database with existing/non existing addresses (you can configure how long positive/negative results should be cached).

To use LMTP and dynamic address verification you must first get Dovecot working. Then you can configure Postfix to use LMTP and set "reject_unverified_recipient" in the smtpd_recipient_restrictions.

On every incoming email Postfix will probe if the recipient address exists. You will see similar entries in your logfile:

Recipient address rejected: undeliverable address: host tux.example.com[private/dovecot-lmtp] said: 550 5.1.1 < tzknvtr@example.com > User doesn't exist: tzknvtr@example.com (in reply to RCPT TO command); from=< cnrilrgfclra@spammer.org > to=< tzknvtr@example.com >

If the recipient address exists (status=deliverable) Postfix accepts the mail.

Info: you can not use "reject_unverified_recipient" with "pipe" so this doesn't work with the Dovecot LDA "deliver".

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Проверка postfix-ом пользователей в dovecot."  +/
Сообщение от ezh on 26-Фев-17, 22:02 
Млин сколько уже в этом топике побывало криворуких м**ов.

Solution:
doveconf -N
читаем внимательно.
Если видим allow_all_users=yes правим.
Подробный ответ в http://wiki.dovecot.org/UserDatabase/Static
И dovecot начинает отбивать левых пользователей сразу после RCPT TO<a@b.c>
Бедный andrey

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру