Крылатая почта юниксоида Anton Karpov Хакер, номер #083, стр. 083-102-6 [retriever] type = SimplePOP3SSLRetriever server = toxahost.ru port = 995 username = toxa password = mycoolpass В сведениях о доставке мы указали, что вся почта будет отдаваться на обработку procmail, который и займется сортировкой писем по папкам. Это очень удобно, когда ты подписан на несколько списков рассылки, или просто хочешь раскладывать письма по разным папкам в зависимости от отправителя. Синтаксис конфигурационного файла procmail выполнен в традиционном наркоманском стиле ;), характерным для oldschool-программ. Вкратце, после объявления переменных каждая запись имеет вид «действие до - условие - действие после», где «действие до» может быть перенаправлением другой программе, переписыванием полей письма и т.д., «условие» - регексп, по которому выполняется «действие после» - перемещение письма в заданную папку, вызов внешней программы и прочее. Синтаксис записей ужасен, но именно благодаря своим возможностям делать с почтой все, что душе угодно, procmail и по сей день остается самым мощным средством фильтрации сообщений. $ vi ~/.procmailrc MAILDIR=$HOME/Maildir/ LOGFILE=$HOME/.procmaillog LOGABSTRACT=no VERBOSE=no DROPPRIVS=yes FORMAIL=/usr/local/bin/formail NL=" " # прежде всего, вызываем проверку ВСЕХ писем на спам с помощью SpamAssassin. Об этом чуть позже. :0fw: spamassassin.lock | /usr/local/bin/spamc # письма, помеченные как спам, уходят в трэш :0: * ^X-Spam-Status: Yes $MAILDIR/junk/ # html-письма тоже уходят в трэш :0 * ^Content-Type:.*html $MAILDIR/junk/ # письма из списка рассылки freebsd перемещаются в отведенную для них папку :0 * ^List-Id:.*freebsd $MAILDIR/freebsd-lists/ # системные сообщения от рута уходят в специальную папку, чтобы не забивать мусором основной ящик :0 * ^(FROM|TO):.*root@* $MAILDIR/toxahost/ # все остальное сыпется в основной ящик по умолчанию :0 * .* $MAILDIR/default/ Пару слов о спаме. Самым первым вызовом procmail была проверка писем на спам. В принципе, для этого достаточно просто установить SpamAssassin, так как утилита spamc, входящая в его комплект, позволяет проверять письма автономно, без запуска сервера СпамАссассина, spamd. Но при запущенном сервере проверка идет гораздо быстрее. # echo spamd_enable="YES" >> /etc/rc.conf # /usr/local/etc/rc.d/sa-spamd start [финальный штрих] Вот и все. Последний штрих - создание файла ~/.mailcap, в котором будут прописаны соответствия вызываемых программ различным MIME-типам. Так, кто сказал, что mutt не умеет читать вложенные doc-файлы? $ echo "application/msword; antiword -m koi8-r.txt %s; copiousoutput" >> ~/.mailcap Теперь при получении письма с аттачем MIME-типа application/msword (когда тебе во вложении пришлют doc-файл) mutt вызовет программу antiword, которая удобно представит тебе содержимое doc-файла в текстовом виде. По аналогии можно сопоставить другие программы различным MIME-типам. На диске ты найдешь полные варианты всех упомянутых сегодня конфигов, в том числе и «боевой» mailcap. Просто поставь из пакетов/портов недостающие утилиты и - готово. |