Mutt

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Mutt and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Resources

mutt – это текстовый клиент электронной почты (MUA) с интерфейсом командной строки. mutt – это один из текущих консольных почтовых клиентов, находящихся в активной разработке, с большой толпой активной поддержки (и пользователей). Он мощный, хорошо персонализируемый, маленький и эффективный. neomutt – это очень похожее ответвление mutt, к нему применима большая часть этой статьи.

Если вы не являетесь фанатом клиентов электронной почты с красивыми графическими интерфейсами пользователя, либо хотите быстро прочитать какую-то почту через соединение SSH, то консольные почтовые клиенты могут вам подойти.

Введение

Хотя изначально Mutt был разработан, чтобы читать почту из локального почтового ящика (например, /var/spool/mail/ ), сегодня у него есть полная поддержка каталогов Maildir, удаленного подключения к серверам POP3, и полная поддержка аккаунтов IMAP. Для полного описания того, что может делать Mutt, пожалуйста, прочитайте руководство Mutt.

Установка

Чтобы начать ваше приключение с Mutt, вам нужно просто установить его. Однако у Mutt есть много различных опций, которые включают или выключают различные его возможности. Ниже мы кратко обсудим большинство важных USE-флагов, которые вы можете захотеть включить, в зависимости от того, как вы собираетесь использовать Mutt. Заметьте, что включение большинства из них не повредит данной программе, но заставить делать ее больше, чем может захотеть опытный пользователь Mutt.

Emerge

root #emerge --ask --verbose mail-client/mutt

USE-флаги

USE flags for mail-client/mutt A small but very powerful text-based mail client

autocrypt Enable autocrypt.org support
berkdb Enable sys-libs/db database backend for header caching
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
gdbm Enable sys-libs/gdbm database backend for header caching
gnutls Prefer net-libs/gnutls as SSL/TLS provider (ineffective with USE=-ssl)
gpgme Build gpgme backend to support S/MIME, PGP/MIME and traditional/inline PGP
hcache Enable header cache, one database backend needs to be enabled
idn Enable support for Internationalized Domain Names
imap Add support for IMAP (Internet Mail Application Protocol)
kerberos Add kerberos support
libressl Use dev-libs/libressl instead of dev-libs/openssl when applicable (see also the ssl useflag)
lmdb Enable dev-db/lmdb database backend for header caching
mbox Add support for mbox (/var/spool/mail) style mail spools
nls Add Native Language Support (using gettextGNU locale utilities)
pgp-classic Build classic_pgp backend to support PGP/MIME and traditional/inline PGP
pop Enable support for POP3 mailboxes
prefix Defines if a Gentoo Prefix offset installation is used
qdbm Add support for the qdbm (Quick Database Manager) library
sasl Add support for the Simple Authentication and Security Layer
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
slang Add support for the slang text display library (it's like ncurses, but different)
smime-classic Build classic_smime backend to support S/MIME
smtp Enable support for direct SMTP delivery
ssl Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
tokyocabinet Enable dev-db/tokyocabinet database backend for header caching
vanilla Do not add extra patches which change default behaviour; DO NOT USE THIS ON A GLOBAL SCALE as the severity of the meaning changes drastically

Прежде всего, для новичков, USE флаг imap, наверное, является самым важным. Если вы его включите, ничего не сломается, поэтому если вы не уверены, какой аккаунт вы будете использовать с Mutt, просто включите его. Большинство провайдеров электронной почты, даже бесплатные, вроде GMail, сегодня используют IMAP, так как это самый удобный способ сохранять почту, к которой обращаются из нескольких клиентов в одно и то же время и/или из разных мест. Так как IMAP хранит всю почту на сервере, Mutt просто скачивает те сообщения, которые вы хотите видеть.

После чтения сообщений часто бывает, что вы переходите к списку почтового ящика, чтобы посмотреть, что там. Для отображения этой информации Mutt загрузит заголовки сообщений. Когда вы часто переключаете папки или если ваши папки содержат большое количество писем, загрузка заголовков сообщений снова и снова будет занимать некоторое время. Так как это просто пустая трата, Mutt использует штуку, которая называется "кэш заголовков" (USE-флаг hcache), чтобы хранить наиболее важные части сообщений, которые нуны ему, чтобы значительно ускорить открытие папок. Данный кэш заголовков сохраняется с помощью библиотеки базы данных, из которых поддерживаются пять: berkdb, gdbm , ldbm , qdbm и tokyocabinet. Если вы не знаете, какая для вас лучше, выберите lmdb, поскольку он самый быстрый для использования с Mutt. Вы можете активировать только один USE-флаг для бэкэнда базы данных hcache. Если после этого вы переустановите Mutt с другой библиотекой базы данных, Mutt перестроит свои кэши автоматически, когда он откроет папку.

Хотя IMAP важен для чтения почты, для отправки почты необходим почтовый сервер. Mutt может доставлять почту, используя локальный (send)mail, но часто это не очень хорошее решение, например для ноутбуков, которые перемещаются. В Mutt есть поддержка SMTP, которая включается USE флагом smtp USE-flag. Опять же, включив этот флаг, если вы не уверены в нем, вы не повредите вашу систему. Поддержка SMTP в Mutt просто позволяет вам отправить почту через почтовый сервер по вашему выбору, с опциональной аутетификацией, – обычно это smtp-сервер, который дал вам ваш провайдер электронной почты.

Сегодня как IMAP, так и SMTP в основном передаются через защищенные каналы, поэтому если вы еще не включили ни одного из таких флагов, будет разумным включить либо USE-флаг ssl, либо gnutls. Оба из них добавляют безопасные варианты (imaps и smtps) к списку поддерживаемых Mutt протоколов, используя либо реализацию OpenSSL, либо GNUTLS. Если у вас нет строгого предубеждения на этот счет, просто выберите ssl . Скорее всего, он уже есть в ваших глобальных USE флагах в любом случае. Если вы хотите аутентифицировать себя при передаче почты, также добавьте к вашим USE флагам sasl, так как это необходимо для данного действия.

В настоящее время всё более и более распространёнными становятся подпись или даже шифрование сообщений. Mutt поддерживает традиционные OpenPGP и S/MIME через оболочку gpgme. Самый простой способ настроить поддержку подписанных и зашифрованных сообщений – это использование USE-флага gpgme. Документация и опыт использования в этой области, мягко говоря, сбивают с толку, и в то время как gpgme – самый простой в настройке, он едва документирован. Когда вы активируете gpgme, убедитесь, что также активируете этот бэкэнд в конфигурации, см. ниже.

Конфигурация

После того, как вы установили Mutt с выбранным набором USE-флагов, единственный необходимый шаг – создать файл .muttrc. Примеры muttrc-файлов можно найти во многих местах в Интернете, а также в документации по Mutt. В каталоге /usr/share/doc/mutt-<version>/samples можно найти некоторые примеры файлов muttrc из официальной поставки. Ниже показан очень маленький файл .muttrc для аккаунта с использованием протокола IMAP и доставкой почты по SMTP. Он также активирует подпись электронной почты посредством gpg с использованием бэкэнда gpgme.

Файлы

.muttrc

Файл ~/.muttrcПример файла .muttrc
# Кодовая страница для отправленных сообщений
set send_charset="utf-8"
# Если для входящих сообщений не задано кодовой страницы, то, скорее всего, это windows
set assumed_charset="iso-8859-1"
  
# Удостоверьтесь, что Vim знает о том, что Mutt это почтовый клиент, и что будет создано UTF-8 сообщение
set editor="vim -c 'set syntax=mail ft=mail enc=utf-8'"
  
# Скроллинг по одной строке, а не по странице
set menu_scroll=yes
  
# Мы хотим смотреть некоторые MIME-типы не выходя из программы, смотри ниже (после этого листинга кода) объяснения
auto_view application/msword
auto_view application/pdf
  
# Шаблон по умолчанию для поиска в To, Cc и Subject
set simple_search="~f %s | ~C %s | ~s %s"
  
# Настройки потоков, сортировать по потокам
set sort=threads
set strict_threads=yes
  
# Показываем очки спама (только из SpamAssassin) при чтении сообщения
spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1"
set pager_format = " %C - %[%H:%M] %.20v, %s%* %?H? [%H] ?"
  
# Не показывать все заголовки, только некоторые
ignore          *
unignore        From To Cc Bcc Date Subject
# в таком порядке
unhdr_order     *
hdr_order       From: To: Cc: Bcc: Date: Subject:
  
# Раскрасим все цветами, для примеров раскраски смотри сайт
# http://aperiodic.net/phil/configs/mutt/colors
color normal      white          black
color hdrdefault  green          default
color quoted      green          default
color quoted1     yellow         default
color quoted2     red            default
color signature   cyan           default
color indicator   brightyellow   red
color error       brightred      default
color status      brightwhite    blue
color tree        brightmagenta  black
color tilde       blue           default
color attachment  brightyellow   default
color markers     brightred      default
color message     white          black
color search      brightwhite    magenta
color bold        brightyellow   default
# Если вы не любите черный прогрессбар внизу экрана,
# закомментируйте следующую строку
color progress    white          black
  
# Настройки пользователя
set realname = "Larry the cow"
set from = "larry@mail.server"
alternates "larry@mail.server|larry.the.cow@mail.server"
# Данный файл должен существовать, и в нем должна быть ваша подпись. Закомментируйте его, если вы 
# не хотите использовать подпись
set signature = ~/.signature
  
# Алиасы (что-то вроде адресной книги)
source ~/.aliases
  
# Настройки соединения IMAP
set mail_check=60
set imap_keepalive=300
  
# Настройки аккаунта IMAP
set folder=imaps://larry@imap.mail.server/
set spoolfile=imaps://larry@imap.mail.server/
set record=imaps://larry@imap.mail.server/Sent
set postponed=imaps://larry@imap.mail.server/Drafts
  
# Использовать headercache для IMAP (проверьте, что это каталог для большего быстродействия!)
set header_cache=/var/tmp/.mutt
 
# раскомментируйте это, чтобы активировать боковую панель
#set sidebar_visible = yes
set sidebar_width = 15
set sidebar_folder_indent = yes
set sidebar_short_path = yes
 
# сделать обновления индикатора процесса не такими затратными, данные настройки будут обновлять его каждые 300мс
set read_inc = 1
set time_inc = 300
 
# только если вы скомпилировали Mutt с USE=gpgme, включите бэкэнд gpgme
set crypt_use_gpgme = yes
# вы можете установить это, чтобы скрыть вывод проверки gpg и полагаться только на флаг состояния Mutt
#set crypt_display_signature = no
# активировать подпись электронной почты по умолчанию
set pgp_autosign = yes
set pgp_sign_as = 0xXXXXXXXX   # your gpg keyid here
set pgp_replyencrypt = yes
  
# Почтовые ящики для проверки на новую почту
mailboxes "="
mailboxes "=Lists"
  
# Почтовые рассылки для пользователя Gentoo (используются регулярные выражения!)
subscribe "gentoo-.*@gentoo\\.org"
  
# Конфигурация SMTP для отправки почты
set smtp_url=smtp://larry@mail.server/
Заметка
Будет хорошей практикой разобраться со всеми настройками из примера конфигурационного файла выше. Есть гораздо больше настроек, а некоторые настройки могут не совпадать с вашими. Помните это, когда сначала вам покажется, что Mutt работает не так, как вам хочется.

Пример .muttrc, показанный выше, настраивает ваш аккаунт IMAP, использует SMTP сервер для передачи почты, сохраняет ее в кэше в /var/tmp/.mutt, читает известные алиасы адресов (думайте об этом как об адресной книге) из файла ~/.aliases и добавляет подпись из ~/.signature при создании новой почты. Для серверов IMAP может быть необходимо изменить каталоги для отправляемой, полученной и задержанной почты, так как каталоги Sent и Drafts могут находиться внутри каталога, называемого INBOX. Просто попробовав Mutt, вы без труда определите, так ли это в вашем случае.

Как только вы настроили .muttrc, вы готовы запустить Mutt, просто набрав mutt. Если вы ввели правильный URL-адрес сервера IMAP, Mutt запросит пароль, а затем загрузит все сообщения. Заметьте, что в первый раз вход в ваш почтовый ящик может занять много времени, если у вас есть много сообщений, так как кэш заголовков Mutt пока пуст. Если все получится, то вы окажетесь в вашем почтовом ящике IMAP, готовом к работе.

Навигация достаточно интуитивна, например, может читать сообщения просто нажимая Template:Ket или пробел. Mutt достаточно похож на Vim в том плане, что он использует нажатия клавиш для выполнения большинства своих действий. Лучше всего прочитать документацию по Mutt, чтобы узнать все существующие функции (либо просто нажмите ? в Mutt), а также, чтобы узнать, какие клавиши нужно нажать, чтобы их вызвать (либо, к какой клавише вы бы хотели их привязать). Некоторые важные клавиши это m (от message) для написания нового сообщения, q для выхода, r для ответа на сообщение, s для сохранения и p для печати.

.mailcap

Одна из возможностей, которые есть в Mutt, но которой все ещё нет в сегодняшних самых продвинутых клиентов электронной почты – это возможность отображать вложения прямо в самой программе, с помощью какого-либо просмотрщика. Директива auto_view в файле .muttrc говорит Mutt, какие вложения (согласно их типу MIME) нужно таким образом отображать. Чтобы определить, как это сделать, Mutt использует файлы mailcap, где находит, как отображать конкретные типы MIME. Обычно общесистемного файла mailcap здесь недостаточно, так что вы можете создать свой файл ~/.mailcap, и поместить туда что-либо для copiousoutput, чтобы Mutt мог отображать их в самой программе.

В примере выше для файла .muttrc, auto_view включен для файлов application/msword и application/pdf. Эти два вида файлов показывают большую полезность данной возможности, так как это означает, что заметки, присланные вам в виде файлов doc теперь полностью читаемы без необходимости сохранять вложение, и открывать его в LibreOffice. Вместо этого, текст показывается в прямо в программе чтения сообщений, если, конечно, у вас есть соответствующая запись в вашем файле ~/.mailcap.

Файл ~/.mailcapПример файла .mailcap
application/msword; antiword '%s'; copiousoutput; description=Word Document;
nametemplate=%s.doc
application/pdf; pdftotext '%s' -; copiousoutput; description=PDF Document;
nametemplate=%s.pdf

Вышеприведенный пример файла .mailcap говорит Mutt, что нужно делать, чтобы "просматривать" ("view") файлы msword и pdf. Для первого он должен запустить программу antiword (emerge app-text/antiword ), для последнего - программу pdftotext (emerge app-text/poppler). Вы можете добавить туда программу для просмотра HTML в текстовом виде (попробуйте app-text/vilistextum), отображать vcard, либо показывать ASCII-отображения изображений во вложениях. Все, что вам нужно это определить, как вызывать программу в вашем файле .mailcap, и сказать Mutt, чтобы он попробовал отобразить результат в самой программе, с помощью директивы auto_view.

Заключение

Mutt это очень настраиваемый консольный клиент электронной почты. Если вам понравилась концепция, то Mutt можно изменять любым способом через его конфигурационный файл. Поищите в Интернете, чтобы найти, как другие люди сделали "это", либо найдите один из многих существующих патчей, чтобы Mutt стал делать еще больше. Gentoo применяет несколько очень популярных патчей для Mutt, так что проверьте mutt -v, если вы хотите чего-то еще (вполне возможно, оно уже есть). Хотя выучить Mutt это не обязательно легко, но как только вы это сделаете, он может сделать ваше общение с почтой гораздо быстрее и эффективнее, чем остальные клиенты. Поиск примеров это очень мощная вещь, если вы знаете, как использовать правильные флаги, и знаете, как регулярные выражения помогут вам ограничить круг поиска. Наслаждайтесь программой Mutt!


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Fabian Groffen (grobian)
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.