Mail/Mutt

Материал из ALT Linux Wiki

Почтовый клиент 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)

Ссылки