Диалап под крылом пингвина j1m (j1m@list.ru) Хакер, номер #070, стр. 070-110-2 uptest=none; # Предположить, что сервер доступен preset=on } Остальные записи в этом файле можно оставить без изменений. После окончания настройки сделаем так, чтобы все DNS-запросы направлялись на наш кэширующий pdnsd: # echo "nameserver 127.0.0.1" > /etc/resolv.conf Заведи почтового робота Для получения почты с удаленного сервера будем использовать очень мощную и удобную программу fetchmail. Единственное ее предназначение - подключаться к почтовому серверу по протоколу POP3 или IMAP и забирать почту. В нашем случае fetchmail будет передавать почту procmail'у. Для настройки fetchmail'а в интерактивном режиме предназначен fetchmailconf. Настоящим юниксоидам и тем, у кого не установлены python и tcl/tk, такой способ не подходит, поэтому сделаем все ручками. Предположим, что ты держишь ящик на mail.ru, тогда конфиг будет выглядеть примерно так: $ vi ~/.fetchmailrc # Пишем логи set logfile ~/logs/fetchmail.log # Работа в режиме демона, забираем почту каждые 5 минут set daemon 300 # Адрес почтового сервера и используемый протокол poll pop.mail.ru proto pop3 # Имя пользователя и пароль user "name" with pass "secret" # Передаем полученную почту procmail'у mda "/usr/bin/procmail -d %T" # Забирать всю почту с сервера fetchall Далее выставляем корректные права доступа к нашему конфигу: $ chmod 600 ~/.fetchmailrc Чтобы не выполнять команду fetchmail самостоятельно при каждой загрузке, следует прописать ее в один из стартовых скриптов твоей системы, например /etc/rc.local. Fetchmail может работать с несколькими серверами, последовательно забирая почту с каждого из них. Фильтруй базар! Как я уже говорил, fetchmail будет передавать полученную почту procmail'у. Procmail, в свою очередь, раскидает сообщения по разным ящикам в зависимости от некоторого условия. Для отлова спама воспользуемся мощным спам-фильтром spamassassin, благо прикрутить его к procmail достаточно легко. Все необходимые пакеты есть в любом дистрибутиве. На случай, если ты любитель собирать все из исходников, сообщу, что spamassassin написан на perl'е и собирать его следует так: # perl Makefile.PL # make # make install Сразу после установки занеси все имеющиеся у тебя письма в белый лист (так spamassassin будет меньше ошибаться): $ cat ~/Mail/* > sa-learn --ham Как только все пакеты будут собраны и установлены, создавай ~/.procmailrc и заноси в него свои правила. Чтобы ты не запутался, вот пример: $ vi ~/.procmailrc # Каталог для почтовых ящиков MAILDIR=$HOME/Mail # Дефолтный ящик. Сюда будет складываться почта, не попадающая под правила DEFAULT=$MAILDIR/inbox # Включим логирование LOGFILE=$HOME/logs/procmail.log # Путь до formail, используется для изменения почтовых заголовков FORMAIL=/usr/bin/formail ### Прим. ред. # Во избежание потери важных писем в течение тестирования правил фильтрации процмейла настоятельно рекомендую дублировать всю входящую почту в ~/Mail/backup): :0 c backup ### Удаляем повторяющиеся письма :0 Whc: .msgid.lock | $FORMAIL -D 8192 .msgid.cache :0 a /dev/null ### Фильтруем спам |