set daemon 600 set postmaster TUOUSERNAME poll First with proto IMAP via imap.unibas.ch user oleg there with password "perviiparol" options fetchall stripcr ssl warnings 3600 poll Second with proto POP3 via pop.hispeed.ch user "adres@hispeed.ch" there with password "vtoroiparol" options fetchall stripcr ssl warnings 3600 mda "formail -s procmail"
Примечание: раньше последняя строчка была другой:
mda 'procmail -d %T'
В отличие от неё, mda "formail -s procmail"
обеспечивает правильную запись адреса отправителя в log-файл ~/mail/from
Запись эту производит программа procmail
, которую я вызываю в последней строчке ~/.fetchmailrc
У procmail
есть свой собственный конфигурационный файл ~/.procmailrc
:
PATH=/usr/bin:/bin MAILDIR=$HOME/mail DEFAULT=$MAILDIR/inbox # в LOGFILE пишется краткая информация обо всех письмах, поступивших на мой адрес LOGFILE=$MAILDIR/from FORMAIL=/usr/bin/formail VERBOSE=off PMDIR=$HOME/.procmail # фильтруем спам, выполняя инструкции из файла INCLUDERC=$PMDIR/spam.rc #________________________ * ^From.*root$MAILDIR/root :0 * ^From.*Anacron $MAILDIR/root :0 * ^Subject.*Output from your job $MAILDIR/root #________________________Перенаправление всей почты со Spam в почтовый ящик cazzate: :0 * ^Subject:.*SPAM $MAILDIR/cazzate #________________________теперь разберёмся с письмами из журналов (напр., статьями на рецензирование): :0 * ^From.*aps.org $MAILDIR/journals :0 * ^From.*aip.org $MAILDIR/journals :0 * ^From.*epletters.net $MAILDIR/journals #________________________отлавливание копий, используя formail :0 Whc: .msgid.lock | $FORMAIL -D 16384 .msgid.cache :0 a $MAILDIR/duplicates # ________________________заебала меня аэрофлотовская рассылка а также MySpace: :0 * ^From.*bonusnews@aeroflot.ru /dev/null :0 * ^From.*@message.myspace.com /dev/null :0 * ^From.*@veeco.fr $MAILDIR/cazzate :0 * ^From.*@maplesoft.fr $MAILDIR/cazzate #_______________________никаких html писем: :0 * ^Content-Type:.*html $MAILDIR/cazzate # # конец файла
В случае, тема (Subject
) письма написана не в кодировке ASCII (т.е. почти всегда, если письмо написано не на английском языке), строки
Subject
в файле ~/mail/from
закодированы. Их можно раскодировать с помощью утилиты reformime
, входящей в пакет
maildrop
. Например, последние 20 строк файла ~/mail/from
в раскодированном виде можно посмотреть, дав следующую команду в терминале:
IFS=$'\012' ; for i in $(tail -n20 ~/mail/from) ; do reformime -h $i ; done
где с помощью IFS=$`\x0a`
мы объясняем bash
-интерпретатору, что разделителем переменных в цикле for
должен быть символ
"перевод строки", а не пробел (как обычно).