On Fri, Mar 18, 2016 at 08:14:40AM +0300, Victor Wagner wrote: > То есть я туда шлю письмо, а он в ответ делает smtp-коннект ко мне и, > естественно, получает " > > > Mar 17 18:05:58 deneb postfix/smtpd[3149]: NOQUEUE: reject: RCPT from > xxxx.xxx.ru[nnn.nnn.nn.nn]: 450 4.2.0 <vi...@wagner.pp.ru>: > Recipient address rejected: Greylisted, see > http://postgrey.schweikert.ch/help/wagner.pp.ru.html; > from=<double-bou...@xxx.xxx.ru>
Тот, кто делает коннект с double-bounce@ -- он неправ. Хотя бы потому, что отправитель может начать sender verify этого double-bounce@, и даже если он проходит, то это излишняя трата ресурсов. Нормально sender verify использует mail from: <>, это специально придуманный служебный адрес (RFC2821, пункт 4.5.5 "Messages with a null reverse-path") и потому грейлистить его нужно не на стадии rcpt, а не на стадии data, т.е. такие проблемы не возникают. В принципе такими же служебными адресами можно считать <mailer-daemon@*>, с некоторой натяжкой <postmaster@*>, от цируса бывает <sieve@*> и т.д. > В результате я от него получаю > 450 4.1.7 <vi...@wagner.pp.ru>: Sender address rejected: unverified > address > > И в таком состоянии оно стояло до тех пор, пока я руками не > завайтлистил в postgrey их smtp-сервер. Видимо, интервал прогона очереди на стороне отправителя неадекватен настройкам тайминга для грейлистера, иначе по времени перевода триплета из серого списка в белый письмо бы ушло. Да, я знаю, что в postfix'e экспоненциальный рост интервала прогона очереди неотрываемый. Но это проблема postfix'а, не более того. Разумнее первые 15-20 минут иметь константу, а потом экспоненту. > После этого еще через некоторое > время (похоже там заметный таймаут на устаревание кэша unverified > адресов) письмо всё-таки ушло. > > Вопрос в том - а существует ли какой-нибудь способ сконфигурировать > postgrey так, чтобы он отличал sender address verification от спама и > не грейлистил её? Можно, наверное, но есть и другой вариант: сконфигурить МТА так, чтобы не звал грейлистер когда это не нужно. Как сделать в Postfix не знаю, а в Exim примерно так: accept hosts = : +relay_from_hosts !senders = : postmaster@* : mailer-daemon@* : sieve@* condition = ${<check-update-greylist>} -- Eugene Berdnikov