[Sysadmins] local recipient table for postfix via dovecot passdb
Aleksey Avdeev
=?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Пт Ноя 16 17:21:33 MSK 2007
Anton Kvashin пишет:
> Aleksey Avdeev пишет:
>> Vladimir V. Kamarzin пишет:
>>>>>>>> On 15 Nov 2007 at 02:52 "AA" == Aleksey Avdeev writes:
>>>>> В принципе можно вообще не использовать таблицы, а обойтись лишь recipient
>>>>> verification, заведя отдельный restriction_class, в котором бы осуществлялась
>>>>> проверка reject_unverified_recipient для локальных доменов. См. пример
>>>>> http://www.freesource.info/wiki/Dokumentacija/Postfix/BackupMX/recipientverification/rejectunverifiedrecipient?v=ze5&
>>>>>
>>>>> Допустим, SMTP-клиент пытается залить нам мыло для юзера user на domain. Постфикс
>>>>> генерирует конверт и пытается доставить его допустим по lmtp dovecot-у. Если
>>>>> Dovecot говорит 550 user unknown, постфикс SMTP-клиента посылает тоже с 550, а
>>>>> точнее, клиенту будет процитирован ответ dovecot-а. Соответственно, если
>>>>> Dovecot говорит 450, SMTP-клиенту отдаётся тоже 450.
>>> AA> А можно ли вклиниться в эту идиллию так, чтобы при этом (срыве
>>> AA> доставки по lmtp) сообщения о недоставке (от MAILER-DAEMON@),
>>> AA> отправителю не уходили (кроме списка доменов заданного руками)?
>>>
>>> Гмм, я вижу только один вариант "срыва доставки по lmtp", приводящий к
>>> генерации баунсов: если в кэше результат проверки конкретного
>>> реципиента положительный (status=deliverable), а MDA по какой-либо причине
>>> перестал принимать почту для данного реципиента (например исчерпана квота,
>>> юзера удалли, и т.п.), то постфикс будет слать баунсы на envelope-from до тех
>>> пор, пока не истечёт время address_verify_positive_refresh_time (default:
>>> 7d). В общем, тут важно правильно подобрать параметры кэширования.
>> Распишу подробнее:
>>
>> 1. В качестве imap сервера использую cyrus (не dovecot), и списком
>> пользователей владеет именно он.
>
> Он может видеть/использовать список пользователей из sql/ldap, т.е.
> не единоличное владение.
На данный момент они у меня в sasldb.
>
>> 2. Всю приходящую на домен почту (после всех поверок) -- postfix
>> пересылает cyrus`у по lmtp.
>
> Не использую postfix, но по памяти virtual_table можно направить в
> sql/ldap. И он на этапе rcpt to (если postfix может такое) говорить
> 550 unknown user.
Это знаю, но для этого сначала нужно перейти на sql/ldap (что в
планах, но не быстрых).
>
>> 3. В качестве одного из промежуточных фильтров (до передачи по lmtp) --
>> используется amavis-new (который тоже в какой-то момент перестал
>> проставлять заголовки, но вирусы по прежнему ловит)...
>>
>> Пока писал, подумал что наблюдаемое вполне может быть из-за amavis`а
>> (и/или любого другого фильтра с отложенной обработкой), т. к. он
>> обрабатывает сообщения уже находящиеся в очереди postfix`а, _после_
>> завершения входящей SMTP сессии. Т. е. из-за использования в процессе
>> доставки фильтра обрабатывающего очередь, postfix получает отлуп от
>> принимающего по lmtp не в момент существования входящей SMTP сессии, а
>> уже после её завершения...
>
> Посмотрите exim. Он позволяет делать контентную фильтрацию в
> SMTP-сессии на этапе DATA, без прослоек.
>
OK, может быть гляну.
--
С уважением. Алексей.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 544 байтов
Описание: OpenPGP digital signature
Url : <http://lists.altlinux.org/pipermail/sysadmins/attachments/20071116/d6748bb2/attachment-0002.bin>
Подробная информация о списке рассылки Sysadmins