Dealing with e-mail in the "Unix way": fetchmail, procmail, mutt.Леонид Хачатуров
fetchmail - утилита для забора почты с remote POP, IMAP серверов
procmail - утилита для раскладывания полученной почты по ящикам,
запускается после fetchmail
mutt - почтовый клиент для настоящих хакеров :-)
1) Настраиваем fetchmail (с помощью fetchmailconf)
1а) Пример файла ~/.fetchmailconf:
set postmaster "admin@your_hostname.your_domain"
set no bouncemail
set no spambounce
set properties ""
poll pop_server
localdomains your_domain
user 'remote_login' there with password 'remote_password' is local_login here
mda '/usr/bin/procmail -d local_login'
Когда мы запустим fetchmail он полезет на Ваш почтовый сервер (pop_server),
заберет Вашу почту и передаст ее либо вашему MTA, который доставит ее в
/var/spool/mail/local_login, либо локальному procmail, который разложит её по
папкам
2) Пишем ~/.procmailrc
PATH=/bin:/usr/bin
MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/inbox
LOGFILE=$MAILDIR/log
# remove dups
:0 Wh: msgid.lock
| formail -D 8192 msgid.cache
:0:
* ^(to:|cc:) .*mandrake-russian@
mandrake-russian
:0:
* ^(to:|cc:) .*sisyphus@
sisyphus
:0:
* ^(to:|cc:) .*openbsd@
openbsd
:0:
* ^(to:|cc:) .*stunnel-users@
stunnel
Приведенный procmail кладет почту в директорию ~/Mail, удаляет дублирующиеся
сообщения (с одинаковым Message-ID), и кладет почту пришедшую на адрес
mandrake-russian@ в файл mandrake-russian, на адрес sisyphus@ - в sisyphus и
т.д. Почта, не удовлетворяющая ни одному из правил, ложится в inbox, где ей
самое место.
3) Настраиваем mutt
Прописываем в ~/.mutt/set:
set mbox=Mail/inbox
mailboxes inbox mandrake-russian sisyphus openbsd stunnel
4) Выставляем правильные права на файлы .fetchmailrc, .procmailrc,
почтовые ящики
.fetchmailrc - 600
.procmailrc - 600
~/Mail - у меня 755, возможно стоит ужать
~/Mail/* - 600
Дело в том что procmail очень щепетильно относится к правам на файлы, и в
случае, если они выставлены неправильно, просто откажется работать.
|