Автор: (C) Kamil Klimkiewicz
Перевод: (C) Иван Песин
Приблизительно три или четыре месяца назад я перешел с Windows на Linux. Я использовал Linux и до этого, но лишь как вторую, дополнительную операционную систему. Когда же она стала "первичной", я столкнулся с несколькими проблемами. Большинство из них я быстро решил. Но была среди них одна, решение которой вызвало много трудностей -- у меня были три учетных записи электронной почты.
Пользователь Windows может сказать: "Загрузите какой-нибудь почтовый клиент и настройте его на использование нескольких учетных записей." Но есть то, что называется 'философией Unix'. Она говорит нам, что программист должен написать маленькую программу, которая будет делать единственную задачу, но делать ее хорошо. Что это значит для нас? Это значит, что нет единой утилиты, которая загружает почту с сервера, позволяет ее читать и писать письма (это, безусловно, не совсем так. -- Прим.пер.).
В этой короткой статье я покажу вам только то, как настроить утилиты fetchmail и mutt. Если вы заинтересованы в более детальной информации по данной теме, то вам следует прочесть:
Эти документы можно получить на сайте http://www.linuxdoc.org.
Давайте определим нашу почтовую "обстановку": у нас имеется три почтовых аккаунта, каждый из которых, размещен на каком-то сервере. Назовем их "First", "Second" и "Third". Соответствующими адресами будут: [email protected], [email protected], [email protected]. Более того, доступ к первой учетной записи должен происходить по протоколу IMAP, в то время как к остальным -- по POP3.
Локальный пользователь, который должен получать всю почту, называется 'john'. Нам нужно установить новое значение для переменной окружения $MAIL, поскольку мы не собираемся использовать ее значение по умолчанию '/var/spool/mail/john' (это небезопасно и не очень удобно). Чтобы сделать это, нам необходимо добавить следующие строки в файл .bash_profile (естественно, если вы используете другую оболочку, вам нужно будет изменить соответствующим образом другой файл):
MAIL=$HOME/Mail/Inbox export MAIL
(Не забудьте создать каталог '$HOME/Mail'!.) Мы также используем дополнительные почтовые ящики для чтения сообщений (для каждой учетной записи назначен свой почтовый ящик.)
Перед тем, как прочесть нашу почту, ее нужно загрузить с сервера. Для этого мы используем утилиту, которая называется fetchmail. Она должна быть уже установлена в вашей системе.
Настройка программы fetchmail -- очень простая задача. Кроме того, можно использовать утилиту 'fetchmailconf', которая делает настройку еще более простой. Файл настроек, который нужно править -- это HOME/.fetchmailrc. В подходящем нам варианте он выглядит таким образом:
set postmaster "john" set bouncemail set properties "" set daemon 300 poll First via firstdomain.com with proto IMAP user first there with password тут_должен_быть_пароль is john here warnings 3600 poll Second via seconddomain.com with proto POP3 user second there with password тут_должен_быть_пароль is john here warnings 3600 poll Third via thirddomain.com with proto POP3 user third there with password тут_должен_быть_пароль is john here warnings 3600
Для запуска fetchmail просто введите fetchmail в командной строке. Программа запустится в режиме демона и будет проверять почту каждые 5 минут.
Теперь наша почта находится у нас на машине и ее можно прочесть любым почтовым агентом. Я предполагаю, что это mutt, потому что эта статья связана именно с ним.
Перед работой Mutt требует настройки. Сперва нужно добавить некоторые основные установки в его конфигурационный файл (обычно он называется $HOME/.muttrc.) Они могут выглядеть таким образом:
set mbox = "~/Mail/Inbox" set move = no set folder = "~/Mail" set record = +Sent mailboxes +Inbox +First +Second +Third
Это все, что нужно для чтения почты, но все исходящие письма в поле From будут содержать что-то вроде john@localhost . Нам нужна возможность изменять отправителя так, чтобы сообщение выглядело посланным от firstdomain.com или seconddomain.com или любого другого вашего домена.
Чтобы достичь этого, мы будем использовать дополнительные почтовые ящики (First, Second и Third) и так называемый hooks-механизм mutt. Этот механизм позволяет при каком-либо действии выполнять заданные пользователем команды. Существует folder-hook, который вызывается каждый раз, когда пользователь меняет почтовую папку (при помощи клавиши 'c'.) Для изменения поля From, нам нужно модифицировать переменные mutt from и realname :
# Действие по умолчанию: folder-hook . set from = [email protected] folder-hook . set realname = First # аккаунт First: folder-hook First set from = [email protected] folder-hook First set realname = First # аккаунт Second: folder-hook Second set from = [email protected] folder-hook Second set realname = Second # аккаунт Third: folder-hook Third set from = [email protected] folder-hook Third set realname = Third
Нужно еще определить переменную alternates, чтобы mutt мог узнать сообщения, посланные нами или от нас:
set alternates = "first@firstdomain\.com|second@seconddomain\.com|third@thirddomain\.com&qu ot;
Примечание:Существует Web-утилита, которая называется MuttrcBuilderи доступна по адресу http://mutt.netliberte.org. Ее можно использовать для более легкой настойки mutt.
Copyright (С) 2002, Kamil Klimkiewicz.
Published in Issue 83 of Linux Gazette, October
2002
Команда переводчиков:
Владимир Меренков, Александр Михайлов, Иван
Песин, Сергей Скороходов, Александр Саввин, Роман Шумихин, Александр Куприн,
Андрей Киселев
Со всеми предложениями, идеями и комментариями обращайтесь к Сергею Скороходову ([email protected]). Убедительная просьба: указывайте сразу, не возражаете ли Вы против публикации Ваших отзывов в рассылке.