sendmail dnsbl и мой милый провайдер.

Вообщем количество спама на моё мыло возросло чертовски сильно. Поэтому я задумался об использовании dnsbl. Нет, антиспам работает великолепно! Просто размер директории карантин на серваке начал меня напрягать.

Ну подключили dnsbl-и.

FEATURE(`dnsbl’,`smtp.dnsbl.sorbs.net’,`»554 Rejected » $&{client_addr} » found in smtp.dnsbl.sorbs.net»‘)dnl
FEATURE(`dnsbl’,`dul.dnsbl.sorbs.net’,`»554 Rejected » $&{client_addr} » found in dul.dnsbl.sorbs.net»‘)dnl
FEATURE(`dnsbl’,`combined.njabl.org’,`Message from $&{client_addr} rejected — Server Blacklisted by combined.njabl.org’)dnl
FEATURE(`dnsbl’,`sbl-xbl.spamhaus.org’,`Message from $&{client_addr} rejected — Server Blacklisted by sbl-xbl.spamhaus.org’)dnl

Все прекрасно, количество писем доходящих до сам фильтра катастрофически уменьшилось :). Но столкнулся с одной интересной проблемой.

Пришёл домой и решил отправить письмо через свой почтовик. А он собака отказывается это делать 🙂 Оказывается внешний IP моего провайдера, на который меня натят находится в dnsbl 🙂

У меня на серваке настроена аутентификация и по идее, если логин пароль правильные он должен принимать почту на отправку. Как оказалось я ошибался. Он рубит еще на стадии подключения к серваку.

Для того, что бы сначала работала аутентификация и только после нее dnsbl необходимо добавить:

FEATURE(`delay_checks’)dnl

После этого все стало на свои места. Теперь если при помощи TRUST_AUTH_MECH меня признали, тогда письмо принимается на отправление. Если нет, смотрится проверка в dnsbl. На всякий пожарный пока тестирую.

Apr 10 18:21:10 cosmos sendmail[16031]: m3AGL9Na016031: ruleset=check_rcpt, arg1=, relay=S010602c09f5a772a.fm.shawcable.net [24.65.67.227], reject=554 5.7.1 Rejected 24.65.67.227 found in dnsbl.sorbs.net

Вроде работает, но проверка теперь действительно с задержкой 🙂 .

Если не поможет придётся пользоваться VPN, что в общем то не проблема, потому как он уже настроен и работает как с домашней, так и с рабочей машины.

Кстати, к delay_checks можно прикрутить и access_db, что бы адреса занесённые в неё тоже пропускались в независимости от того есть они в dnsbl или нет. Но это не самый лучший вариант.