Есть ли почта в консоли?
Я очень долгое время использовал для работы с почтой 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:
- Классический mutt
- 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 # Отвечать шифрованием на шифрованные сообщения
Из комментариев к конфигу все должно быть понятно. Осталось два файла:
- \~/.signature - это файл с подписью, которая будет автоматически добавляться к письму. Может содержать в себе что угодно.
-
\~/.mailcap - файл с описанием типа вложения и программой, которая должна его открывать:
text/html; firefox %s; needsterminal;
В данном случае имеется ввиду, что файлы вложений типа text/html открывать надо с помощью firefox. Так я открываю HTML письма, которые не содержат в себе текстовой части.
Работа в mutt
Mutt использует консервативный набор клавиш, т.к. этому клиенту уже очень много лет. Поэтому многим сложно его использовать. Но если запомнить основные комбинации, то становится легко и просто.
? - справка по клавишам
m - создать письмо
r - ответить на письмо
c - сменить папку
q - выход
y - подтверждение действия
Следите за подсказками в верхней строке и почаще заглядывайте в хелп. И все у вас получится. ;)
Комментарии: