Непрочитанное сообщение
Laa » 2009-05-20 19:09:21
PREDATA -- это часть СМТП-взаимодействия после получения ответа на RCPT TO (не важно положительного или отрицательного), но до разрешения вводить данные (DATA). В этой части отправителю еще не разрешили вводить данные, но уже выяснили HELO/EHLO, адрес отправителя и перечень получателей. Тут или позже нужно давать запреты NULL SENDER-у, так как при проверке отправителя (sender verify) дальше идти процесс не будет.
Поясню подробней.
Никогда точно нельзя сказать, что отправитель NULL SENDER является спамером или sender-verify удаленного почтового сервера на наше письмо. Так вот, если сторона получателя по DNSBL даст deny на стадии RCPT TO любому отправителю, который пытается прислать письмо, то может оказаться, что своё же письмо и не будет доставлено (см мою подпись!). Схема такая:
1. LOCAL_SMTP пытается отправить письмо на REMOTE_SMTP
2. REMOTE_SMTP после получения MAIL FROM пытается выполнить проверку отправителя (sender verify) просто попытавшись доставить от отправителя <> письмо нашему пользователю к нам на сервер LOCAL_SMTP.
3. LOCAL_SMTP выдает deny -- you in dnsbl. (если REMOTE_SMTP действительно в DNSBL, а это бывает часто).
4. Пункт 1 обламывается, так как REMOTE_SMTP оказался в DNSBL и мы ему выдали ошибку на его sender verify, и REMOTE_SMTP понял, что адрес отправителя с нашего LOCAL_SMTP несуществующий.
5. Наш локальный пользователь прибежал с истерикой, что мол его супер-важное письмо недоставлено.
А sender verify работает так: REMOTE_SMTP, после того, как LOCAL_SMTP выдал HELO и MAIL FROM выполняет тестовую доставку письма от пользователя <> (NULL SENDER) к нашему пользователю, от которого отправляется письмо в надежде после RCPT TO получить код положительный или отрицательный. На этом основании REMOTE_SMTP понимает существует ли отправитель или он поддельный. При sender verify процесс не доходит до DATA, REMOTE_SMTP после ответа LOCAL_SMTP на RCPT TO просто говорит QUIT и отключается с какой-то информацией.
Спамеры, же, в свою очередь шлют от NULL SENDER спам, который вводят на стадии DATA, и, вот чтобы им в этом помешать как раз стоит выдавать отлуп перед DATA, на стадии PREDATA ну или позже (чтобы собрать больше логов? и потом отлуп).
Многа букаф, но постарался разжевать по максимуму.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!