У меня есть система Debian Etch, на которой работает Exim4-daemon-heavy.
Система открыта для Интернета, но предполагается, что она будет получать только легитимную почту, поступающую от службы фильтрации спама, которая работает в качестве прокси-сервера. (Я не могу просто ограничить доступ к этим IP-адресам, потому что у меня есть авторизованные пользователи, которые ретранслируют через мой сервер через порт 25. Я знаю, что должен использовать 587 - но в настоящее время я не использую.)
Общий способ, которым это работает:
[Интернет] -> [SMTP-прокси] -> [Мой сервер]
К сожалению, у меня есть спамеры, отправляющие почту непосредственно на почтовый сервер и игнорирующие записи MX. Так что, похоже, мое очевидное решение состоит в следующем:
- Добавить заголовок к каждому обработанному сообщению на SMTP-прокси.
- Добавить заголовок на моем сервере для каждого входящего сообщения , если только почта не поступает от авторизованного реферера. (т.е. кто-то, кто прошел SMTP AUTH.)
Таким образом, я мог бы использовать procmail только для нежелательных сообщений, которые приходили напрямую через отправителей, которые игнорировали мои записи MX.
Я почти уверен, что Exim4 может быть принудительно добавлен заголовок, такой как "X-Submitter: $ ip" - для записи удаленного IP-адреса, который отправил сообщение, но я не уверен, как это сделать.