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