Mail/Mutt
Почтовый клиент Mutt
Mutt — мощный консольный клиент почты. Он может практически все, что и другие почтовики с графикой, но отличается меньшим потреблением ресурсов компьютера, и, так как является консольным, с успехом работает через фреймбуфер. Это позволяет использовать его на машинах без Х-сервера, со слабыми видеокартами или по сети, экономя трафик и позволяя игнорировать слабость канала.
Настройка
mutt использует как опции командной строки, так и конфигурационные файлы. Опции используются для отладки, однако чаще применяются в пакетном режиме для создания автоматических писем:
echo "Внимание! Сервер 8 имеет температуру, близкую к критической!! \ Загрузка системы 100%. Запущен внеплановый бэкап. По завершении сервер \ будет выключен, если температура не понизится. Порт для входа через ssh на \ ближайшие 10 минут установлен в 954. " | mutt -s "Alarm! server 8 critical \ temperature!!" -b archive@firma.domain -c admin888@gmail.com \ -a /var/log/sensors/sensors.log -- admin@firma.domain
Здесь -s — тема письма; -b — адрес для скрытой копии; -c — адрес для копии; -a — вложение в письмо; -- — конец списка опций; admin@firma.domain — основной адрес; команда echo по конвейеру | передает тело письма. Естественно, в реальных ситуациях вместо большинства параметров используются переменные, подставляющие адресатов, меняющие тему и текст под нужную ситуацию.
Для настройки mutt требуется править файлы в ~/.mutt. Ранее все настройки находились в одном файле .muttrc, теперь для каждого вида настроек (alias, set, bind, folder и т.д.) есть свои файлы. Однако файл muttrc остался, теперь в нем находятся не принадлежащие к прочим категориям настройки. (Если вы импортируете готовые настройки, скопируйте файл .muttrc вместо текущего, а после правки к своим предпочтениям разнесите по разделам.)
Здесь приведены краткие сведения, более подробно следует смотреть man muttrc (на рус.), /usr/share/doc/mutt*/index.html (на англ.), официальная wiki (на англ.).
alias
Пример:
alias community "ALT Linux general diskussion list" <community@lists.altlinux.org> alias stalker "Vova Petrov" <stalker888@mail.ru>
Используется вместо адресной книги, для каждого адресата или списка рассылки можно создать свой псевдоним, при вводе которого в поле To: при создании письма, в поле адресата автоматически подставится реальное имя и адрес. Формат:
alias псевдоним "реальное имя" <адрес>
Создать псевдоним можно из самого mutt, нажав во время чтения письма a (появится внизу экрана).
bind
Пример:
bind pager <Delete> previous-line bind pager <BackSpace> next-line bind alias x exit bind attach x exit bind browser x exit
Первые две строки переназначают клавиши в встроенном просмотрщике; следующие три устанавливают клавишу x для выхода из меню подстановки псевдонимов, просмотра вложений, выбора вложений. Формат:
bind карта ключ функция. Примеры параметров в /usr/share/doc/mutt*/configuration.html#bind.
charset
Пример:
charset-hook windows-1251 cp1251 charset-hook koi8r koi8-r
Полезно для приема почты от разных отступающих от стандарта почтовиков, которые указывают кодировку в произвольном формате. Формат: charset-hook псевдоним_ака_неправильное_название правильная_кодировка
color
Пример:
color attachment blue default color header green default "^user-agent" color header brightblue default "^to: " color signature magenta default
Устанавливает цветовую гамму для просмотра и прочих действий с письмами. Первая строка — цвет вложений; вторая и третья — цвет определенных заголовков; последняя — цвет подписи. Формат:
color привязка цвет_переднего_плана цвет_фона [регулярное выражение]
folder
Пример:
folder ~/Mail mailboxes =mailru =gmail =default folder-hook mailru set from='stalker999@mail.ru'
Устанавливает настройки для папок с почтой. Первая указывает папку на компьютере, где хранятся почтовые папки (строго говоря, это не папки, а файлы, которые содержат письма в определенном формате); вторая определяет локальные папки, которые надо отслеживать на предмет новой почты; третья предписывает при входе в папку mailru устанавливать отправителем stalker999@mail.ru. Формат третьей команды:
folder-hook [!] регулярное_выражение_имя _папки команда [; команда]
pgp
Пример:
set pgp_autosign set pgp_replysign set pgp_import_command="gpg -q --import -q %f"
Устанавливает настройки шифрования/подписывания писем. Формат — см set
header
Пример:
hdr_order date from to cc bcc subject ignore * unignore Date From Subject To Cc Bcc my_hdr X-PGP-Version: "1.4.13"
Описывает операции с заголовками писем. Первая строка описывает порядок следования заголовков при чтении/написании письма. Вторая и третья указывают показывать только определенные и скрывать все остальные. Четвертая определяет формат для своего заголовка, например, сообщает некоторую информацию о используемой программе либо добавляет другой адрес в поле Reply-to:. Формат нагляден.
muttrc
Содержит все команды, не относящиеся ни к какой из прочих категорий. Так как этот файл единственный, который читает программа при запуске, содержит директиву source, загружающую остальные файлы. Пример:
source ~/.mutt/set
set
Основная команда, изменяющая подавляющее большинство настроек. Устанавливаемые значения (в зависимости от опции):
- string — строка (если есть пробелы, заключается в кавычки)
- boolean — yes/no (включено/выключено), есть состояние "не установлена"
- quadoption — предыдущая с добавочными значениями "предлагать да/предлагать нет" (yes/no значения применяются сразу, при установке ask-yes/ask-no предлагается подтвердить умолчание/изменить параметр для этого раза)
- number — целое положительное число.
Пример:
set mail_check=10 set pop_delete=no set pop_reconnect=ask_yes set spoolfile="=default" set editor="vi -c 'set ft=mail tw=74' '+/^$'"
Первая строка устанавливает таймаут проверки новых сообщений в почтовой папке (не на сервере); вторая указывает не удалять почту на POP-сервере при получении в локальный ящик; третья предписывает при таймауте POP-сессии не соединяться заново,а ожидать подтверждения от пользователя, предлагая по умолчанию вариант "да"; четвертая устанавливает ящик, который будет показываться при запуске программы (знак = в начале названия означает локальный ящик в локальной папке); пятая — устанавливает редактором писем внешнюю программу vi с передачей ей некоторых параметров. Формат:
set параметр=значение
Использование
mutt имеет низкий порог вхождения, основные команды могут показываться в строке подсказки, кроме того, из любого места (кроме внешнего редактора, конечно) можно комбинацией клавиш ? вызвать контекстную справку по доступным для данного места командам. Управление осуществляется только клавиатурой, английской раскладкой, заглавные и строчные буквы отличаются, поддерживаются комбинации вида "нажать Esc, отпустить, нажать m" — замена Meta-клавиши, уже не присутствующей на современных клавиатурах, а также макросы — последовательность из команд, запускаемых одной/несколькими последовательно нажатыми клавишами. Команды, которые могут потребоваться новичкам:
- Enter — прочитать сообщение либо подтвердить команду;
- Tab — следующее новое сообщение, при отсутствии — следующее непрочитанное;
- L (Shift+l) — ответить в список рассылки;
- ^D (Control+d) — удалить ВСЮ просматриваемую дискуссию;
- ^U (Control+u) — отменить удаление (так как на сообщение, помеченное к удалению, mutt не переходит, "перепрыгивает" его, следует перейти к ближайшему вышестоящему и серией нажатий u или ^U восстановить нужное);
- % (Shift+5) — запретить/разрешить изменения почтового ящика (может быть полезно, если вы отметили к удалению не те письма, которые хотели, и не можете восстановить статус-кво);
- m — создать новое сообщение;
- c — перейти в папку (подставляется имя папки с новой почтой, если есть);
- r — ответить отправителю подсвеченного/читаемого письма;
- d — удалить подсвеченное/читаемое письмо;
- u — восстановить удаленное (смотри примечание к ^U);
- G — получить новую почту;
- q — выход
Дополнительная функциональность
Все же mutt нельзя считать самодостаточной почтовой программой, некоторая функциональность в нем отсутствует, другая ограничена. Благодаря тому, что его создатели придерживаются общепринятых стандартов, возможно расширить его возможности путем подключения сторонних программ. В таблице приведены некоторые доппрограммы, которые можно подключить к mutt:
Название | Функции | Ссылки |
---|---|---|
abook | Полноценная адресная книга | developer page (eng) |
fetchmail | Позволяет получать почту с нескольких аккаунтов | official page (eng) |
procmail | Рассортировывает почту по ящикам | official page (eng) |
formail | Удаляет дубликаты писем | unofficial page (?) |
bmf | Подключает байесовский фильтр спама | developer page (eng) |
msmtp | Поддерживает расширенную отправку почты | developer page (eng) |