On Tue, 09 Oct 2007 12:59:31 +0300 Покотиленко Костик wrote:
ПК> В Вто, 09/10/2007 в 12:14 +0300, Mikolaj Golub пишет: >> On Tue, 09 Oct 2007 11:20:40 +0300 Покотиленко Костик wrote: >> >> ПК> Да всё оказалось гораздо проще, благодаря тем строчкам, которые я >> ПК> привёл, postfix стал спрашивать cyrus о ящиках напрямую через протокол >> ПК> LMTP. И не надо уме знать в каком именно виде ящики хранятся. Осталось >> с >> ПК> контент фильтрами разобраться... >> >> Он не "стал спрашивать", а просто пытается залить письмо туда >> (предварительно >> пропустив через спам фильтры) и получает отлуп о несуществующем мейлбоксе от >> цируса. А для того, чтоб постфикс сначала проверил (спросил), есть ли такой >> пользователь, еще на этапе rcpt to (до приема DATA и соответственно >> фильтрации), нужно соответственно smtpd_recipient_restrictions и >> recipient_maps >> настроить (если такое возможно в случае с cyrus). ПК> Скорее всего Вы не правы. Именно спрашивает. Мне удалось включить ПК> spamassasin через milter, clamav пока отключил, и всё стало как надо. ПК> Если письмо адресовано несуществующему получателю, оно отфутболивается ПК> сразу после RCPT TO, дальше письмо передаётся контент фильтру, и по ПК> результату его работы либо отфутболивается либо попадает в очередь. ПК> Если не прав, поправьте, пока 100% не проверил, сужу по логам. ПК> Вот фрагменты конфигов: ПК> main.cf: ПК> -------------------------------------------------------- ПК> mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp ПК> virtual_transport = lmtp:unix:/var/run/cyrus/socket/lmtp ПК> local_recipient_maps = $virtual_mailbox_maps $virtual_mailbox_maps на сколько я вижу у Вас пустой? Поэтому local_recipient_maps тоже пустой, т.о. Вы отключили "user unknown" режект (как гласит документация). ПК> smtpd_client_restrictions = check_client_access ПК> cidr:/etc/postfix/access, permit_sasl_authenticated ПК> address_verify_negative_cache = yes ПК> address_verify_negative_expire_time = 3d ПК> address_verify_negative_refresh_time = 2h ПК> address_verify_positive_cache = yes ПК> address_verify_positive_expire_time = 3d ПК> address_verify_positive_refresh_time = 2h ПК> address_verify_default_transport = $default_transport ПК> address_verify_local_transport = $local_transport ПК> address_verify_relay_transport = $relay_transport ПК> address_verify_relayhost = $relayhost ПК> address_verify_transport_maps = $transport_maps ПК> address_verify_virtual_transport = $virtual_transport ПК> smtpd_recipient_restrictions = permit_sasl_authenticated, ПК> reject_unauth_destination, reject_unverified_recipient, ПК> reject_unlisted_recipient ПК> smtpd_milters = unix:/sockets/spamass.sock ПК> milter_default_action = tempfail ПК> -------------------------------------------------------- ПК> master.cf: ПК> -------------------------------------------------------- ПК> smtp inet n - - - - smtpd ПК> # To add support for spamassasin ПК> #smtp inet n - - - - smtpd -o ПК> content_filter=spamassassin: ПК> -------------------------------------------------------- ПК> Фрагменты логов: ПК> -------------------------------------------------------- ПК> Oct 9 12:56:20 darkstar postfix/smtpd[21708]: connect from ПК> email.wccta.net[207.177.68.11] ПК> Oct 9 12:56:21 darkstar postfix/smtpd[21708]: NOQUEUE: reject: RCPT ПК> from email.wccta.net[207.177.68.11]: 450 4.1.1 ПК> <[EMAIL PROTECTED]>: Recipient address rejected: undeliverable ПК> address: host darkstar[/var/run/cyrus/socket/lmtp] said: 550-Mailbox ПК> unknown. Either there is no mailbox associated with this 550-name or ПК> you do not have authorization to see it. 550 5.1.1 User unknown (in ПК> reply to RCPT TO command); from=<[EMAIL PROTECTED]> ПК> to=<[EMAIL PROTECTED]> proto=ESMTP helo=<email.wccta.net> ПК> Oct 9 12:56:21 darkstar postfix/smtpd[21708]: disconnect from ПК> email.wccta.net[207.177.68.11] Все равно здесь что-то не так :-). Клиент получает 450 вместо 550 и будет продолжать в течение n дней слать письмо на нечуществующий адрес. Здесь до конца мне не понятно. Я всегда предполагал, что постфикс сначала принимает письмо в очередь, а потом уже пробует его доставить в мейлбокс. Здесь же действительно получается, что smtpd сразу передает RCPT мейлбокс-траспорту (возможно для проверки юзера, тогда почему 450 возвращает?). Что-то не могу с ходу найти в документации объянения происходящему. -- to my, trociny -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]