Олег Шалаев  > Мой Debian-опыт

Мой ~/.fetchmailrc (все пароли изменены)

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:

Мой ~/.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 должен быть символ "перевод строки", а не пробел (как обычно).


Олег Шалаев
Last modified: Sat Jan 3 10:22:00 CST 2009