Новости :

getmail+procmail+mutt+msmtp (на примере FreeBSD)

getmail — программа для забора почты с POP3 ящиков, написана на языке Python. Программа намного проще и удобнее в настройке, чем ее аналог fetchmail, правда, менее функциональна: в частности, отсутствует поддержка IMAP и POP3S (в документации предлагается использовать для этих целей stunnel).

Настройка

По умолчанию файл конфигурации находится в ~/.getmail/getmailrc. Формат его очень прост: сначала должна присутствовать секция [default], в которой указываются общие настройки для всех аккаунтов, затем следует настройка отдельных аккаунтов, для которых, в частности, могут быть переопределены настройки из секции [default]. Сейчас я приведу пример данного файла, а потом поясню, что значит каждая строчка.

	[default]
	delete = 1 # удалять сообщения после получения   
	verbose = 1 # выводить на экран отладочную информацию 
	message_log = "~/.getmail/log" # вести журнал 
	readall = 1 # загружать сообщения, помеченные как прочитанные
	postmaster = "|procmail" # перенаправлять почту procmail'у

	[first] # название учетной записи
	server = pop.somewhere.ru # адрес POP3-сервера
	username = somebody # имя пользователя
	password = "this is a secret"	# пароль (если хотите использовать
	# специальные символы, надо взять в двойные кавычки)
	delete = 0 # для данного аккаунта оставлять письма на сервере после получения
	readall = 0 # для данного аккаунта не загружать сообщения,
	# помеченные как прочитанные 

	[second]
	server = some.thing.net  
	username = user
	password = pass

На этом настройка getmail'а заканчивается, для подробной информации читайте "man getmail", а также документацию, которая скорее всего находится в директории /usr/local/share/doc/getmail.


procmail

procmail служит для фильтрации и сортировки писем. Файл конфигурации procmail по умолчанию — ~/.procmailrc, в котором содержатся правила фильтрации. Пример ~/.procmailrc, который фильтрует различные почтовые рассылки и складывает их в разные ящики:

	MAILDIR=$HOME/mail # путь к почтовому ящику
	LOGFILE=$HOME/.procmaillog# путь к файлу журнала

	:0:
	* ^List-Id: 
	bugtraq

	:0:
	* ^List-Id: 
	fluxbox-users

	:0:
	* ^Subject:.*WWC.*
	| iconv -c -f cp1251 -t koi8-r
	| formail -i "Content-Type: text/plain; charset="koi8-r"" >>wwc

	:0:
	* ^TO_(mutt-users@mutt.org)
	mutt-users

	:0:
	inbox

В первом случае мы фильтруем список рассылки bugtraq@securityfocus.com по List-Id и помещаем письма оттуда в ящик bugtraq, аналогично поступаем со списком рассылки fluxbox-users. Третье правило немного инетерснее. Задача заключается в том, что письма уведомления с форума wwc.ru приходят в кодировке cp1251, причем не содержат заголовок "Content-Type", что несколько усложняет положение. Мы перекодируем сообщение из cp1251 в koi8-r, добавляем заголовок «Content-Type: text/plain; charset="koi8-r"» и кладем письмо в ящик wwc. Четвертое правило: фильтуем список рассылки mutt-users, который не сожержит заголовок "List-Id". Последнее правило: складываем всю оставшуюся почту в ящик inbox. Другие примеры могут быть найдены в "man procmailex".


msmtp

msmtp — это так называемый smtp-плагин для MUA. Он более стабильный и у него больше возможностей, чем у nbsmtp. Поддерживает SMTP AUTH: PLAIN, LOGIN и CRAM-MD5, IPv6, TLS зашифрованные соединения и т.д.

Настройка msmtp

Файл конфигурации по умолчанию — ~/.msmtprc. Его формат очень простой, и в большинстве случаев для настройки msmtp хватит трех строк. Пример простейшего ~/.msmtprc:

		account default
		host smtp.mail.ru
		from bogorodskiy@inbox.ru

Первая строка — имя аккаунта. Имя аккаунта задается при помощи аргумента "--account=id". Если имя аккаунта не задано, используется аккаунт «default». host — адрес smtp-сервера, который вы хотите использовать для опправки писем. from — ваш e-mail адрес. Описание остальных директив файла конфигурации вы можете найти, набрав "man msmtp", там вы также найдете примеры файла конфигурации.

Настройка mutt

mutt является одним из самых функциональных и удобных консольных mail-клиентов. Файл конфигурации по умолчанию — ~/.muttrc. Пройдемся по этому файлу, я прокомментирую каждую интересную нам строчку.

	set folder = "~/mail"
	mailboxes =bugtraq
	mailboxes =fluxbox-users
	mailboxes =inbox
	mailboxes =wwc
	mailboxes =mutt-users

	# Тут мы задаем рабочую директорию и список поточых ящиков. 

	set sort=threads	# сортирока сообщений по тредам

	set realname="Your Name"	# устанавливает имя, то есть в поле from
	# появится Your Name «you@add.ru»

	ignore *
	unignore        from: subject to cc 
		date x-mailer x-url user-agent # this shows how nicely wrap long lines
	hdr_order from to cc date subject x-mailer user-agent

	# указываем, какие заголовоки нам показывать и в каком порядке.

	# Для переноса длинных строк можно использвать символ "",
	# как это видно в директиве unignore. 

	macro index G "!getmail"
	macro pager G "!getmail"

	# Теперь при нажатии «Shift»+«G» запускается getmail

	set sendmail="/usr/local/bin/msmtp"

	# а для отправки почты используется msmtp

	set send_charset="us-ascii:koi8-r:utf-8"

	# кодировка по умолчанию для исходящих русских сообщений -- koi8-r

	subscribe bugtraq fluxbox-users mutt-users

	# подписанные рассылки

	# далее идут настройки цветов и другие второстепенные настройки,
	# пример можно найти в /usr/local/share/examples/mutt/ 

Теперь запускаем "mutt -y" и тестируем почтовую систему.

Документация:
man getmail
man procmail
man procmailex
man msmtp
man mutt
man muttrc
/usr/local/share/doc/getmail/
/usr/local/share/doc/procmail/FAQ
/usr/local/share/doc/mutt/manual.txt
/usr/local/share/examples/getmail
/usr/local/share/examples/procmail
/usr/local/share/examples/mutt

(Внимание! Пути могут отличаться, если вы установили соответсивующие пакеты не с помощью системы портов FreeBSD.)

Источник http://www.nixp.ru/articles/getmailmutt

Автор Roman Bogorodskiy novel@freebsd.org  ICQ 230066
Комментарии: (0) | FreeBSD | 2006-07-14