А где я rfc нарушил? Когда не принял mail from без аутентификации?
Код: Выделить всё
mail from:<test@mail.ru>
530 Authentication required
На основании чего вы отказываете пользователю доставить вам почту? Ваше собственное предпочтение?
http://rfc2.ru/5321.rfc
Код: Выделить всё
MAIL FROM:<userx@y.foo.org>
RCPT TO:<@jkl.org:userc@d.bar.org>
Попытки такого использования трансляторов в настоящее время осуждаются. Поскольку хосты не обязаны транслировать почту, xyz.com может отвергнуть сообщение при получении команды RCPT, используя отклик 550 (отказ в соответствии с используемыми правилами).
Из этого сообщения вы должны понять только одно - что у почтового сервера есть НЕКИЕ обязанности.
Смысл и назначение почтового сервера.
Почтовый сервер, как правило (далее пункт 1), ОБСЛУЖИВАЕТ СВОЙ ДОМЕН(Ы), для которого он
обязан принимать почту без аутентификации.
Почтовый сервер предназначен для отправки почтовых сообщений:
1. Сразу в папку пользователю - передаёт другому процессу. (dovecot и т.п.)
2. Другому серверу (relay)
Следовательно из вышеописанного, правило exim выглядит так:
Далее начинаем понимать, что надо определяться с некоторыми вещами (пункты 1 и 2). Если Relay нам не нужен, тогда добавляем соответствующее условие и получаем:
Код: Выделить всё
# Принимаем письма для нашего домена
accept domains = +local_domains
endpass
message = "Unknown user"
verify = recipient
deny message - Это типа не релей
Далее начинам осознавать всю проблему. Спамеры начинают слать спам используя всевозможные механизмы (подделку адресов, хостов, фальшивые почтовые сервера, баги, вирусы, продажных или непутевых админов и т.д.)
Админы начинают придумывать защиту от спама для улучшения качества сервиса SMTP. Появляются рекомендации - типа настроек
DNS.
Также появляется множество способов защиты от спама, но в общем случае это всего-лишь дополнение в правила описанные выше:
Код: Выделить всё
Своих пользователей лучше определить и исключить из проверок на спам. Т.е. ненужно их блокировать.
Всякие проверки на спам с блокировкой или нет, по желанию.
# Принимаем письма для нашего домена
accept domains = +local_domains
endpass
message = "Unknown user"
verify = recipient
deny message - Это типа не релей
P.S. Просто для понимания и без умных мыслей.
http://forum.lissyara.su/viewtopic.php?f=20&t=3577