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 • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Данная статья покажет вам, как начать использование мощного текстового клиента электронной почты mutt.

If you're not a fan of e-mail clients with fancy graphical user interfaces, or you just like to be able to quickly read some mail over an SSH connection, the class of console-based mail clients might be for you.

Введение

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

Установка

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

Emerge

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

USE flags

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

berkdb Enable sys-libs/db database backend for header caching
crypt Add support for encryption -- using mcrypt or gpg where applicable
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)
gpg Enable support for app-crypt/gpgme
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 gettext - GNU locale utilities)
nntp Add support for newsgroups (Network News Transfer Protocol)
notmuch Enable support for net-mail/notmuch
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 Enable support for smime
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 использует штуку, которая называется "кэш заголовков" (hcache), чтобы хранить наиболее важные части сообщений для своих нужд. Данный hcache сохраняется с помощью библиотеки базы данных, из которых поддерживаются четыре: gdbm , berkdb , qdbm и tokyocabinet. Если вы не знаете, какая для вас лучше, выберите gdbm, либо berkdb. Скорее всего, обе из них уже установлены на вашей системе. Если включить USE флаги для более чем одной системы hcache, то Mutt выберет ту, которая ему понравится больше. Он всегда будет использовать только одну (либо вообще ни одной) системы.

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

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

Nowadays, it gets more and more common to sign or even encrypt messages. Mutt supports traditional OpenPGP, S/MIME and both of these through the gpgme wrapper. The easiest way to setup support for signed and encrypted messages is using gpgme USE flag. Documentation and experiences in this area are confusing to say the least, and while gpgme code-path is easiest to setup, it is documented scarcely. When you enable gpgme ensure you also enable this backend in your configuration, see below.

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

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

Files

.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 = "Andrew Dalziel"
set from = "andy@mail.server"
alternates "andrew@mail.server|andrew.dalziel@mail.server"
# Данный файл должен существовать, и в нем должна быть ваша подпись. Закомментируйте его, если вы 
# не хотите использовать подпись
set signature = ~/.signature
  
# Алиасы (что-то вроде адресной книги)
source ~/.aliases
  
# Настройки соединения IMAP
set mail_check=60
set imap_keepalive=300
  
# Настройки аккаунта IMAP
set folder=imaps://andy@imap.mail.server/
set spoolfile=imaps://andy@imap.mail.server/
set record=imaps://andy@imap.mail.server/Sent
set postponed=imaps://andy@imap.mail.server/Drafts
  
# Использовать headercache для IMAP (проверьте, что это каталог для большего быстродействия!)
set header_cache=/var/tmp/.mutt
  
# Почтовые ящики для проверки на новую почту
mailboxes "="
mailboxes "=Lists"
  
# Почтовые рассылки, на которые мы подписаны (используются регулярные выражения!)
subscribe "gentoo-.*@gentoo\\.org"
  
# Конфигурация SMTP для отправки почты
set smtp_url=smtp://mail.server/
Заметка
Будет хорошей практикой разобраться со всеми настройками из примера выше. Есть гораздо больше настроек, а некоторые настройки могут не совпадать с вашими. Помните это, когда сначала вам покажется, что Mutt работает не так, как вам хочется.

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

Как только вы настроили ваш .muttrc, вы готовы запустить Mutt, просто набрав mutt. Если вы ввели правильный адрес для сервера 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.