mutt: лучший почтовый клиент

Mutt почтовый клиент (Mail User Agent (MUA)) с текстовым интерфейсом для *nix подобных систем. Изначально mutt мог только просматривать почту, но последние версии умеют получать, отправлять и фильтровать почтовые сообщения.

Из личного опыта (1,2 года) могу сказать, что mutt заменил для меня все почтовые клиенты которые я пробовал: разные веб-морды, thunderbird, claws, gear. Это не потому, что к нему можно подключить ваш любимый редактор (например, vim) для редактирования текста :), а он подкупает своим минимализмом, шустростью и конечно возможности заточить под себя. Особенно быстрота реакции заметна на нетбуке, для которого веб-морда Google Mail местами ну очень тормозит.

Установка

# под ArchLinux
yaourt -S mutt

# под Ubuntu
sudo apt-get install openssl mutt

Основной конфигурационный файл может находиться в ~/.muttrc или ~/.mutt/muttrc. Пример моего ~/.muttrc.

Для IMAP будет достаточно прописать локальные директории (inbox, outbox, и т.д.). А вот для POP3 понадобиться создать локальные директории вручную.

Для просмотра почтового ящика некоего юзера достаточно запустить mutt -f /path/to/mail/john (например на сервере).

Общие настройки

# vim ~/.muttrc

set realname = "Иван Моргун"
set use_from = yes
set editor='vim -c "set spell spelllang=en_us,ru_ru"'
# see the headers when editing
# set edit_headers 
# sort by newest conversation first.
set sort = reverse-threads
set sort_aux = last-date-received

# confirmation skipping
set fast_reply=yes        # when replying, don't prompt for address
set include=yes           # include original text on reply?
set forward_quote=yes     # include original text on forward?
set delete=yes            # don't ask for delete confirmation

Пример настройки IMAP (на примере GMail)

# vim ~/.muttrc

set from = yourmail@gmail.com
set imap_user = yourmail@gmail.com
set imap_pass = secret
set smtp_url = smtp://yourmail@smtp.gmail.com:587/
set smtp_pass = secret

# don't let your firewall kill your idle connection
set imap_keepalive  = 900

# do not copy sent mail
set copy = no
set move = no 

set folder = imaps://imap.gmail.com:993
set spoolfile = +INBOX #or +[Gmail]/Important
set postponed = +[Gmail]/Drafts

# cache
set header_cache    = ~/.mutt/cache/headers
set message_cachedir    = ~/.mutt/cache/bodies
set certificate_file    = ~/.mutt/certificates

Пример настройки POP3 (например для вашего домена example.com)

Мы можем использовать один из следующих видов почтовых ящиков:

  • mbox - один файл со всеми письмами;
  • maildir - набор директорий (считается более быстрой версией).

Я использую getmail для получения почты

# под ArchLinux
yaourt -S getmail

Создадим нужные директории

mkdir -p ~/.mutt/cache
mkdir ~/.getmail
mkdir ~/.mail
mkdir -p ~/.mail/{cur,new,tmp}

Установим опции для получения почты

# vim ~/.getmail/getmailrc

[retriever]
type = SimplePOP3Retriever
server = mail.example.com
username = yourmail@example.com
port = 110
password = secret

[destination]
type = Maildir
path = ~/.mail/

[options]
read_all = False

Изменим права доступа

chmod 700 ~/.getmail

Попробуем запустить getmail. Если все пройдет без ошибок - мы можем добавлять getmail в cron для периодической проверки почты. Следующий пример показывает как добавить getmail в cron для проверки раз 10 минут.

# crontab -e 
*/10 * * * * /usr/bin/getmail

Укажем mutt где лежат письма от getmail

# vim ~/.mutt/muttrc

# POP3
set from = yourmail@example.com
set mbox_type=Maildir
set folder=$HOME/.mail
set spoolfile=+/
set header_cache=~/.mutt/cache

Пример настройки SMTP (например для вашего домена example.com)

vim ~/.mutt/muttrc

set my_pass='secret'
set my_user=yourmail@example.com
set smtp_url=smtp://$my_user:$my_pass@mail.example.com
set record="+sent"                 # where to store sent messages
set postponed="+postponed"         # where to store draft messages

Мы можем зашифровать пароли с помощью GPG, детали настройки тут.

Отправка сообщения с атачем из терминала

Отправка сообщения с текстом

mutt -s "subject" recipient@server.com < ~/message.txt

Отправка сообщения с текстом и файлом

mutt -s "subject" recipient@server.com -a file.zip < ~/message.txt

Псевдонимы

Псевдонимы удобны для быстрого доступа к контактам.

# vim ~/.muttrc

set alias_file = "~/.mutt/aliases"
set sort_alias = alias
set reverse_alias = yes
source $alias_file

Пример файла с псевдонимами

# vim ~/.mutt/aliases

alias mom mom@example.com

Useful shortcuts

  • m - написать письмо;
  • r - ответить на сообщение;
  • f - переслать письмо;
  • t - изменить адрес получателя;
  • c - изменить Cc поле;
  • a - прикрепить файл к письму;
  • y - отправить письмо;
  • стрелки вверх/вниз или j/k - перемещение между письма не отмеченными для удаления;
  • J/K - перемещение между письмами отмеченными для удаления;
  • / - поиск (в отправителе/тему если находимся в списке сообщений; или в сообщении, если оно открыто и тому подобное)
  • enter - прочитать письмо;
  • space (в сообщении) - перейти к следующему письму;
  • S (в сообщении) - пропустить цитируемый текст;
  • T - переключить видимость цитируемого текста;
  • d - пометить текущие письмо на удаление;
  • u - удалить маркер на удаление для выбранного письма;
  • o - сортировка;
  • q - выход;

Внешний вид

Мне нравиться темные цвета solarized.

Cкачиваем тему

cd ~/.mutt/
git clone https://github.com/altercation/mutt-colors-solarized.git

Устанавливаем

#vim ~/.muttrc

...
source ~/.mutt/mutt-colors-solarized/mutt-colors-solarized-dark-16.muttrc

Получим примерно вот такой вид

mutt.png

Дополнительное чтиво

blog comments powered by Disqus