Использование нескольких учетных записей электронной почты при работе с Mutt

Автор: (C) Kamil Klimkiewicz
Перевод: (C) Иван Песин


Приблизительно три или четыре месяца назад я перешел с Windows на Linux. Я использовал Linux и до этого, но лишь как вторую, дополнительную операционную систему. Когда же она стала "первичной", я столкнулся с несколькими проблемами. Большинство из них я быстро решил. Но была среди них одна, решение которой вызвало много трудностей -- у меня были три учетных записи электронной почты.

Пользователь Windows может сказать: "Загрузите какой-нибудь почтовый клиент и настройте его на использование нескольких учетных записей." Но есть то, что называется 'философией Unix'. Она говорит нам, что программист должен написать маленькую программу, которая будет делать единственную задачу, но делать ее хорошо. Что это значит для нас? Это значит, что нет единой утилиты, которая загружает почту с сервера, позволяет ее читать и писать письма (это, безусловно, не совсем так. -- Прим.пер.).

В этой короткой статье я покажу вам только то, как настроить утилиты fetchmail и mutt. Если вы заинтересованы в более детальной информации по данной теме, то вам следует прочесть:

  • Mail-Administrator-HOWTO,
  • Mail-User-HOWTO.

Эти документы можно получить на сайте http://www.linuxdoc.org.

1. Обстановка

Давайте определим нашу почтовую "обстановку": у нас имеется три почтовых аккаунта, каждый из которых, размещен на каком-то сервере. Назовем их "First", "Second" и "Third". Соответствующими адресами будут: first@firstdomain.com, second@seconddomain.com, third@thirddomain.com. Более того, доступ к первой учетной записи должен происходить по протоколу IMAP, в то время как к остальным -- по POP3.

Локальный пользователь, который должен получать всю почту, называется 'john'. Нам нужно установить новое значение для переменной окружения $MAIL, поскольку мы не собираемся использовать ее значение по умолчанию '/var/spool/mail/john' (это небезопасно и не очень удобно). Чтобы сделать это, нам необходимо добавить следующие строки в файл .bash_profile (естественно, если вы используете другую оболочку, вам нужно будет изменить соответствующим образом другой файл):

MAIL=$HOME/Mail/Inbox
export MAIL

(Не забудьте создать каталог '$HOME/Mail'!.) Мы также используем дополнительные почтовые ящики для чтения сообщений (для каждой учетной записи назначен свой почтовый ящик.)

2. Fetchmail

Перед тем, как прочесть нашу почту, ее нужно загрузить с сервера. Для этого мы используем утилиту, которая называется 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 минут.

3. Mutt

Теперь наша почта находится у нас на машине и ее можно прочесть любым почтовым агентом. Я предполагаю, что это 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 = first@firstdomain.com
folder-hook . set realname = First
# аккаунт First:
folder-hook First set from = first@firstdomain.com
folder-hook First set realname = First
# аккаунт Second:
folder-hook Second set from = second@seconddomain.com
folder-hook Second set realname = Second
# аккаунт Third:
folder-hook Third set from = third@thirddomain.com
folder-hook Third set realname = Third

Нужно еще определить переменную alternates, чтобы mutt мог узнать сообщения, посланные нами или от нас:

set alternates = "first@firstdomain\.com|second@seconddomain\.com|third@thirddomain\.com"

Примечание:Существует Web-утилита, которая называется MuttrcBuilderи доступна по адресу http://mutt.netliberte.org. Ее можно использовать для более легкой настойки mutt.


Copyright (С) 2002, Kamil Klimkiewicz.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 83 of Linux Gazette, October 2002


Вернуться на главную страницу