Регулярно натикаюся на статті про прикручування до поштовикам антіспамовскіх систем (наприклад spamassassin і подібних). Кожен раз, дивлячись на ці зв'язки і купу проблем які вони приносять, «тисну плечима» і щиро не розумію навіщо все це? Спам можна дуже ефективно рубати безпосередньо силами поштовика, без залучення сторонніх програм, деякі з яких ще й вимагають тривалого навчання (наскільки я знаю, але можу й помилятися - не використовую я їх).
Метод вилову спаму, який я опишу в цій статті, дає ефективність, приблизно 97%. Він випробуваний на 10-ке серверів, і працює вже як мінімум років сім.
Всі приклади конфігурації буду приводити для поштового сервера exim, зібраного з підтримкою mysql. Але перевести їх на той-же postfix не складе особливих труднощів.
Для початку инициализируем кілька змінних, які будуть використовуватися в наших перевірках пошти. Назви змінних досить «говорять».
Заголовки і текст письма безпосередньо.
Ну а тепер почнемо перевіряти нашу пошту. Починаємо з заголовків.
Тепер перейдемо до перевірки тіла листи.
У exim є механізм system filter. Ось туди і додаємо
Тобто ми в початок теми листа вставляємо Сточки "(*** SPAM ***)", по якій клієнти користувачів вже отсортіровуют спам.
Як бачите набір правил не великий, але дозволяє ефективно фільтрувати спам, при цьому не ставлячи ніяких додаткових систем. Звичайно є ймовірність помилкових спрацьовувань, але після першого ж листа від нашого користувача до того, якого випадково включили в спам, і він потрапляє в whitelist.
Повторюся, за моїми спостереженнями, такі досить прості правила не пропускають десь 97% спаму.