Посты по тегу: mutt

Есть ли почта в консоли?

Я очень долгое время использовал для работы с почтой Mozilla Thunderbird. Но с каждым годом эта ранее быстрая и легковесная программа превращалась в неповоротливого монстра. И вот мне наконец надоело и я решил попробовать использовать старый, но от того не разросшийся до невменяемого состояния, консольный почтовый клиент mutt.

Справка

mutt — почтовый клиент с текстовым интерфейсом для Unix-подобных операционных систем. Написан Майклом Элкинсом в 1995 году и распространяется по лицензии GPL. Изначально напоминал Elm, затем программа больше походила на slrn.

Mutt поддерживает большинство форматов почтовых ящиков (в том числе mbox и Maildir) и протоколов (POP3, IMAP и т. д.). Также включает поддержку MIME, PGP/GPG и S/MIME-интеграцию.

Mutt является чистым Mail User Agent (MUA) и не может отсылать e-mail самостоятельно. Для этого ему необходимо иметь соединение с Mail Transfer Agent (MTA) (почтовым сервером) либо SMTP-клиентом.

Установка в Ubuntu

В Ubuntu есть две версии mutt:

  1. Классический mutt
  2. Mutt с кучей патчей по улучшению отображения и работы

Я поставил себе патченную версию, т.к. она мне показалась более логичной:

$ sudo apt-get install mutt-patched

Настройка

Настройка производится в файле \~/.muttrc. Я не буду расписывать всю настройку, документации полно в сети, а лишь покажу то, что сделано у меня:

# GENERAL
set realname = "Vasya Pupkin"                        # Имя пользователя
set use_from = yes
set sort = reverse-threads                           # Сортировка по обсуждениям в обратном порядке
set sort_aux = last-date-received                    # Сортировка по дате получения
set mail_check = 5                                   # Проверять почту раз в 5 секунд
set timeout = 10                                     # Таймаут соединения
set net_inc = 5
set signature = ~/.signature                         # Файл подписи
set delete = yes                                     # Удалять без подтверждения
set copy = no                                        # Копировать с подтверждением
set move = yes                                       # Перемещать письма без подтверждения
set edit_headers                                     # Показывать заголовки при написании письма
set editor = "/usr/bin/sublime-text -w"              # Редактор
set include = yes                                    # Добавлять цитирование при ответе
set mark_old = no                                    # Не помечать прочитанные для перемещения в mbox
set save_empty = no                                  # Не созранять пустые сообщения
set pgp_verify_sig = yes                             # Автоматически проверять PGP подпись письма

# Не показывать эти заголовки (нажатие 'h' покажет все)
ignore X-Mailer Delivered-To X-Delivery-ID X-Priority X-MSMail-Priority X-MimeOLE X-Spam-Checker-Version X-Spam-Level X-Spam-Status Precedence X-No-Archive List- DomainKey-Signature In-Reply-To User-Agent DKIM-Signature X-Google-Sender-Auth

# Bindings
macro index,pager S s+Junk                           # Shift+s отправит письмо в спам
macro index,pager A s+Archives.2016                  # Shift+a отправит письмо в папку Archives -> 2016
bind index G imap-fetch-mail                         # Shift+g получит новые письма

unhdr_order *                                        # Сбрасывает настройки порядка показа заголовков
hdr_order date from to cc subject                    # Порядок показа заголовков

# IMAP
set from = user@example.com                          # Адрес отправителя
set imap_user = user@example.com                     # IMAP логин
set imap_pass = Pa$sw0rd                             # IMAP пароль
set smtp_url = smtp://user@example.com:25/           # SMTP логин@сервер
set smtp_pass = Pa$sw0rd                             # SMTP пароль
set imap_keepalive = 900
set folder = imaps://example.com:993                 # IMAP сервер
set spoolfile = +INBOX #or +[Gmail]/Important        # Имя папки входящих сообщений
set postponed = +Drafts                              # Имя папки с черновиками
set header_cache = ~/.mutt/cache/headers             # Файл кеша заголовков
set message_cachedir = ~/.mutt/cache/bodies          # Файл кеша сообщений
set certificate_file = ~/.mutt/certificates          # Файл кеша сертификатов
set ssl_starttls = yes                               # Использовать StartTLS
set ssl_force_tls = yes                              # Обязательно использовать TLS
unset imap_passive                                   # Отключить пассивный решим IMAP
set imap_check_subscribed                            # Проверять подписки на папки

# HTML
set implicit_autoview                                # Использовать фильтры по содержимому
set mailcap_path="~/.mailcap"                        # Файл с описанием фильтров

# GPG
source /usr/share/doc/mutt/examples/gpg.rc           # Подключить PGP/GnuPG шифрование
# Ссылка на публичный ключ в сети
my_hdr X-PGP-Key: https://blog.lyalyuev.info/wp-content/uploads/05420A87.pub

set pgp_use_gpg_agent = yes                          # Использовать GPG Agent
set pgp_sign_as = 05420A87                           # Подписывать письма ключем 05420A87
set pgp_timeout = 3600
set crypt_autosign = no                              # Автоматически не подписывать сообщения
set crypt_replyencrypt = yes                         # Отвечать шифрованием на шифрованные сообщения

Из комментариев к конфигу все должно быть понятно. Осталось два файла:

  1. \~/.signature - это файл с подписью, которая будет автоматически добавляться к письму. Может содержать в себе что угодно.
  2. \~/.mailcap - файл с описанием типа вложения и программой, которая должна его открывать:

    text/html; firefox %s; needsterminal;

В данном случае имеется ввиду, что файлы вложений типа text/html открывать надо с помощью firefox. Так я открываю HTML письма, которые не содержат в себе текстовой части.

Работа в mutt

Mutt использует консервативный набор клавиш, т.к. этому клиенту уже очень много лет. Поэтому многим сложно его использовать. Но если запомнить основные комбинации, то становится легко и просто.

? - справка по клавишам
m - создать письмо
r - ответить на письмо
c - сменить папку
q - выход
y - подтверждение действия

Следите за подсказками в верхней строке и почаще заглядывайте в хелп. И все у вас получится. ;)