Боремося зі спамом стандартними засобами поштовика (на прикладі exim)

Регулярно натикаюся на статті про прикручування до поштовикам антіспамовскіх систем (наприклад spamassassin і подібних). Кожен раз, дивлячись на ці зв'язки і купу проблем які вони приносять, «тисну плечима» і щиро не розумію навіщо все це? Спам можна дуже ефективно рубати безпосередньо силами поштовика, без залучення сторонніх програм, деякі з яких ще й вимагають тривалого навчання (наскільки я знаю, але можу й помилятися - не використовую я їх).

Метод вилову спаму, який я опишу в цій статті, дає ефективність, приблизно 97%. Він випробуваний на 10-ке серверів, і працює вже як мінімум років сім.

Всі приклади конфігурації буду приводити для поштового сервера exim, зібраного з підтримкою mysql. Але перевести їх на той-же postfix не складе особливих труднощів.

Для початку инициализируем кілька змінних, які будуть використовуватися в наших перевірках пошти. Назви змінних досить «говорять».

Заголовки і текст письма безпосередньо.

Ну а тепер почнемо перевіряти нашу пошту. Починаємо з заголовків.

Тепер перейдемо до перевірки тіла листи.

У exim є механізм system filter. Ось туди і додаємо

Тобто ми в початок теми листа вставляємо Сточки "(*** SPAM ***)", по якій клієнти користувачів вже отсортіровуют спам.
Як бачите набір правил не великий, але дозволяє ефективно фільтрувати спам, при цьому не ставлячи ніяких додаткових систем. Звичайно є ймовірність помилкових спрацьовувань, але після першого ж листа від нашого користувача до того, якого випадково включили в спам, і він потрапляє в whitelist.

Повторюся, за моїми спостереженнями, такі досить прості правила не пропускають десь 97% спаму.