Установка и настройка почтового клиента mutt на Linux и FreeBSD
Установка
apt-get install mutt
Настройка клиента
Рассмотрим принцип настройки клиента Mutt для работы по IMAP и POP3.
IMAP + SMTP
Открываем конфигурационный файл:
И приводим его к следующему виду:
set from = master@dmosk.ru
set imap_user = master@dmosk.ru
set imap_pass = password
set smtp_pass = password
set realname = «Дмитрий Моск»
set smtp_url = smtp://smtp.dmosk.ru:465/
set folder = imaps://imap.dmosk.ru:993
set spoolfile = +INBOX
set postponed = +[Gmail]/Drafts
set use_from = yes
set editor=’nano’
set sort = reverse-threads
set sort_aux = last-date-received
set fast_reply=yes
set include=yes
set forward_quote=yes
set delete=yes
set imap_keepalive = 900
set copy = no
set move = no
/.mutt/cache/headers
set message_cachedir =
/.mutt/cache/bodies
set certificate_file =
set ssl_starttls = yes
set ssl_force_tls = yes
set smtp_authenticators = ‘login’
* где необходимо обратить внимание на следующие опции:
Для проверки вводим команду:
При запросе подтвердить принятие сертификата, нажимаем a.
POP3 + SMTP
Открываем конфигурационный файл:
И приводим его к следующему виду:
set from = master@dmosk.ru
set smtp_pass = password
set realname = «Дмитрий Моск»
set smtp_url = smtp://smtp.mail.ru:465/
set pop_user = master@dmosk.ru
set pop_pass = password
set pop_host = pops://pop.dmosk.ru:995/
set pop_reconnect = yes
set pop_checkinterval = 1
set pop_delete = no
set mbox_type = mbox
set folder =
/mail
set mbox = +Inbox
set spoolfile= +Inbox
set use_from = yes
set editor=’nano’
set sort = reverse-threads
set sort_aux = last-date-received
set fast_reply=yes
set include=yes
set forward_quote=yes
set delete=yes
set imap_keepalive = 900
set copy = no
set move = no
/.mutt/cache/headers
set message_cachedir =
/.mutt/cache/bodies
set certificate_file =
set ssl_starttls = yes
set ssl_force_tls = yes
set smtp_authenticators = ‘login’
* где необходимо обратить внимание на следующие опции:
Для проверки вводим команду:
При запросе подтвердить принятие сертификата, нажимаем a.
Примеры настройки для разных почтовых систем
Яндекс
Далее создаем файл с настройкой mutt:
set realname = «Дмитрий Моск»
set from = username@yandex.ru
set use_from = yes
set imap_user = username@yandex.ru
set imap_pass = password
set smtp_url = smtp://smtp.yandex.ru:465/
set smtp_pass = password
set smtp_authenticators = ‘login’
set ssl_starttls = yes
set ssl_force_tls = yes
set folder = imaps://imap.yandex.ru:993
set spoolfile = +INBOX
set postponed = +[Gmail]/Drafts
set record = =Отправленные
@Mail.ru
set realname = «Дмитрий Моск»
set from = username@mail.ru
set use_from = yes
set imap_user = username@mail.ru
set imap_pass = password
set smtp_url = smtp://smtp.mail.ru:465/
set smtp_pass = password
set smtp_authenticators = ‘login’
set ssl_starttls = yes
set ssl_force_tls = yes
set folder = imaps://imap.mail.ru:993
set spoolfile = +INBOX
set postponed = +[Gmail]/Drafts
set record = =Отправленные
GMAIL
Подробнее о включении IMAP и POP3 для почты от Google читайте в инструкции Настройка почты GMAIL и Яндекс для подключения по IMAP или POP3.
set realname = «Дмитрий Моск»
set from = username@gmail.com
set use_from = yes
set imap_user = username@gmail.com
set imap_pass = password
set smtp_url = smtp://smtp.gmail.com:465/
set smtp_pass = password
set smtp_authenticators = ‘login’
set ssl_starttls = yes
set ssl_force_tls = yes
set folder = imaps://imap.gmail.com:993
set spoolfile = +INBOX
set postponed = +[Gmail]/Drafts
set record = =Отправленные
Отправка почты из консоли
Для быстрой отправки почты из командной строки можно воспользоваться Mutt. Для этого используем приложение со следующим синтаксисом:
7 Best Command-Line Email Clients for Linux in 2020
Recently, I wrote an article covering the 6 Best Email Clients you can use on Linux Desktop, all of the email clients in that list where graphical user interface (GUI) programs, but sometimes, users prefer to deal with email directly from the command-line.
For this reason, there is also a need to highlight some of the best text-based email clients that you can use on your Linux system. Although command-line email clients do not offer exceptional features as their GUI counterparts, they do offer to present some great and powerful message handling components.
In this review, we shall exclusively dive into looking at some of the best command-line email clients for Linux and the list is as follows. Please note, all these below email clients can be installed using default package managers such as yum, dnf or apt as per your Linux system distribution.
1. Mutt – Mail User Agent
Mutt is a small, lightweight yet powerful text-based email client for Unix-like operating systems. It is feature-rich and some of its remarkable features include:
2. Alpine – Internet News and Email
Alpine is a fast, easy-to-use and open-source terminal-based email client for Unix-like operating systems, based on the Pine messaging system. Alpine also runs on Windows, can be integrated with web-based email user agents.
It works well for new users and experts alike, hence it is user-friendly, you can simply learn how to use it through context-sensitive help. Additionally, you can easily customize it through the Alpine setup command.
Some of its features include:
3. Sup
Sup is a console-based email client that enables users to deal with a lot of emails. When you run Sup, it presents a list of threads with multiple tags attached, each thread is a hierarchical assortment of messages.
Sup has got some exciting features and these include:
4. Notmuch
“Notmuch mail” is a fast, powerful, global-search and tag-based email system that you can use in your Linux text editors or terminal. Its development was highly influenced by Sup, and it offers performance enhancement to several Sup features.
It is not much of an email client, therefore, it does not receive emails or send messages but simply allows users to search quickly through a collection of emails. You can think of it as a library interface to extend an email program for fast, global and tag-based email searching functionality.
Notmuch has the following notable features:
5. Mu4e
Mu4e is an emacs-based email client that allows users to handle e-mails (such as searching, reading, replying, moving, deleting) very efficiently. The basic idea is to configure an offline Imap client that allows syncing your local computer with a remote email server.
6. Lumail
Lumail is a console-based email client that is developed especially for GNU/Linux with fully integrated scripting and supporting operations upon local Maildir hierarchies and remote IMAP mail-servers.
There are many graphical-based email clients for Linux, but comparatively, Lumail designed solely for command-line use only with built-in support for scripting with a real language.

7. Aerc
Aerc is recommended as one of the best email clients that run on your terminal. It is free and open-source software which is very powerful and extensible and is perfect for discerning hackers.

The above-listed command-line or terminal or text-based email clients are the best you can use on your Linux system, but many times, you can only find out good features and performance attributes of an application after testing it.
Therefore, you can give all of them a try and choose which one to use, that is in case you are a command-line addict, who does not use GUIs so much. Importantly, you can also let us know of any other command-line email clients that you think deserve to appear in the list above, through the comment section below.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Записки программиста
Настройка консольного e-mail клиента Mutt за пять минут
Мотивация пользоваться вместо обычных почтовых клиентов, таких, как Thunderbird, или, скажем, Claws Mail, консольным почтовым клиентом Mutt сродни мотивации пользоваться irssi вместо HexChat. Консольные приложения, как правило, намного проще своих GUI-аналогов, а значит не так сильно жрут батарею и более безопасны. Также они управляются исключительно при помощи клавиатуры, могут быть запущены на сервере в screen / tmux, и вот это все. К сожалению, конкретно Mutt совершенно незаслуженно пользуется репутацией программы, очень сложной в настройке. Сегодня мы убедимся, что в действительности настройка Mutt не сильно отличается от настройки любого другого почтового клиента.
На момент написания этих строк в качестве основной системы я использую FreeBSD, поэтому у меня установка необходимых пакетов выглядит так:
В дополнение к пакету mutt нужен еще и msmtp по той причине, что сам Mutt является только MUA, а не MTA. Другими словами, непосредственно для отправки писем Mutt использует сторонние программы. Не переживайте, это не так страшно, как может показаться.
Дополнение: Начиная с версии 1.5 стало возможным использовать smtp напрямую, без сторонних MTA. Для этого Mutt должен быть собран с соответствующими опциями. В зависимости от вашей системы / дистрибутива эти условия могут выполняться или не выполняться, поэтому в этой статье описывается способ, работающий всегда.
Первым делом указываем параметры подключения к SMTP. В файле
/.msmtprc пишем что-то вроде:
Адрес сервера, имя пользователя и пароль, разумеется, нужно заменить на свои. Кроме того, в вашей системе путь к связке корневых сертификатов может быть немного другим. Думаю, вы без труда найдете нужный файл при помощи утилиты find.
Меняем права доступа к конфигу, иначе msmtp откажется использовать его:
Проверяем, что письма ходят:
Далее создаем примерно такой файл
Насколько мне известно, в третьем тысячелетии абсолютно все почтовые сервисы предоставляют IMAP, и про POP3 можно наконец-то забыть.
Запускаем Mutt. Некоторые основные клавиши (все не привожу, так как их очень много и в клиенте все равно повсюду есть подсказки):
B pattern для поиска по телу сообщения или
s pattern для поиска по subject. По тому же принципу можно делать untag найденных ранее сообщений, только вместо T следует использовать Ctr+T. Подробности о поиске можно найти в документации.
/.muttrc стоит дописать такой хоткей:
Еще один момент, который поначалу не очень понятен. Новые непрочитанные письма помечаются как N (new). Но если переподключиться, то они будут отмечены, как O (old). Это все еще непрочитанные письма, но которые мы уже видели в прошлый раз. Таким образом можно отличить новые письма от совсем-совсем новых.
Еще один хинт. По умолчанию Mutt отображает все письма «плоско». Мне лично древовидное отображение нравится больше. Включается оно так:
Примите во внимание, что Mutt имеет очень гибкие настройки в отношении что каким цветом подсвечивать. Вот вам для примера небольшой кусок
/.muttrc, чтобы вы могли представить масштабы (какая строчка что означает, думаю, и так понятно):
# new unread messages
color index brightgreen default «
# messages to me
color index cyan default «
p»
color index brightcyan default «
O»
color index brightcyan default «
# messages from me
color index yellow default «
# tagged messages
color index red default «
# messages about to be deleted
color index brightyellow default «
# message displaying settings
color hdrdefault green default
color header brightgreen default ^Subject:
color quoted cyan default
color signature red default
Мне очень нравится, что можно подсветить сообщения, отправленные лично тебе, а не просто в какой-нибудь мейлинг лист! Вообще, Mutt настолько гибок в плане настройки цветов, что для него делают целые темы.
Кстати, после внесения изменений в
/.muttrc, их можно подгрузить без перезапуска Mutt, введя:
По умолчанию Mutt скролит текст писем и списки писем экранами, а не по одной строке. Чтобы исправить это, я дописал в конфиг:
# scroll message line by line using arraws
bind pager previous-line
bind pager next-line
# scroll index line by line
set menu_scroll
Также в Mutt есть искуственные паузы, чтобы пользователь успевал прочитать все, что клиент выводит при подключении к IMAP серверу, и так далее. В целом это создает ощущение, что клиент тормозит, поэтому отключаем:
Еще, чтобы клиент работал быстрее, можно включить кэширование (не забудьте предварительно создать соответствующие каталоги):
/.mutt/header_cache»
set message_cachedir=»
Теперь, допустим, нам нужна адресная книга. Нет ничего проще!
/.muttrc дописываем что-то вроде:
Теперь, когда предлагается ввести адрес получателя при написании нового письма, просто начните вводить его никнейм. Никнеймы автодополняются при нажатии Tab. А если нажать Tab дважды, то открывается полный список алиасов.
И последняя пара полезняшек. Чтобы при редактировании писем в Vim ширина текста автоматически ограничивалась до 72-х символов, в
Интересно также, что Mutt позволяет слать письма прямо из консоли:
Чтобы вы могли лучше представить, как происходит работа с Mutt, я приготовил пару скриншотов. Оба скришота кликабельные, в полном размере имеют формат PNG, 1366 x 768 пикселей, размер менее 250 Кб.
Просмотр списка писем:
Чтение конкретного письма:
А теперь, внимание, вопрос! А как работать с несколькими мейлбоксами? Ну-ка, ну-ка, кто уже догадался? 
Да просто дописываем информацию об еще одном SMTP-аккаунте в
/.mutt/user2 и так далее, а дэфолтный подключил в
/.muttrc с помощью директивы source. Адресную книгу по тому же принципу можно положить в
В нем же вы найдете кое-какие другие интересные вещи. Например, открытие ссылок из письма в браузере через urlscan, рендеринг HTML-писем при помощи lynx и их открытие в браузере по умолчанию, открытие картинок в gpicview, и не только. Кстати, много полезных рецептов, связанных с Mutt, можно найти на wiki-сайте Arch Linux. Ну и, конечно же, обратите внимание на официальный мануал по Mutt. Он классный и легко превращается в PDF-книгу, если нажать Ctr+P (print) в Chrome или Chromium.
Многое, к сожалению, остается за кадром. Например, настройка фильтров и работа с IMAP в оффлайне. Для последнего часто используют offlineimap. Но эти вопросы уже выходят за рамки данного поста и, откровенно говоря, мне это сейчас попросту не особо нужно.
А используете ли вы Mutt и если да, быть может, вам есть что дополнить?
Дополнение: О том, как прикрутить GPG к Mutt, читайте в посте Использование PGP/GPG, руководство для нетерпеливых.
Прием и отправка почты из командной строки
Обычно для приемки и отправки почты используются веб-сервисы типа gmail и yahoo, или графические почтовые клиенты. Однако в linux мы можем также отправлять или получать почту в командной строке. Это полезно в таких ситуациях, как отправка почты из скриптов, или в случаях, когда графическая оболочка недоступна.
В этом руководстве описывается, как использовать команду mail для приема и отправки почты.
Отправка почты
В зависимости от дистрибутива, который вы используете, может понадобиться установить дополнительные пакеты, такие как mailutils, чтобы команда mail нормально работала.
Пользователи Debian/Ubuntu могут воспользоваться командой apt-get:
Пользователи Fedora / CentOS / Red Hat Enterprise Linux (RHEL) могут сделать это с помощью yum:
Теперь команда mail должна быть готова к работе.
Выполните приведенную ниже команду, заменив «user@yourmaildomain.com» на свой адрес электронной почты. Опция s задает тему письма.
Теперь вы можете вводить текст письма. Когда закончите, нажмите «control-D» в начале новой строки.
Вы отправили первое письмо из командной строки. Содержимое письма можно вставить из файла.
В некоторых дистрибутивах командная оболочка сначала запросит в интерактивном режиме ввод других полей, таких как «Cc» (Carbon copy). Просто нажимайте «Enter», чтобы пропустить этот этап. Когда вы введете адрес или адреса электронной почты, необходимо нажать «Enter», чтобы перейти на новую строку, к телу письма.
После нажатия Ctrl+D вы возвращаетесь в командную строку без каких либо дополнительных оповещений. Однако ваше письмо было отправлено.
Интересно, что если вы ничего не введете в теле письма и нажмете Ctrl+D, команда mail отреагирует на это:
Если тело письма хранится у нас в отдельном файле, мы можем напрямую использовать его для отправки письма. Это полезно при вызове команды mail из скриптов, или других программ, написанных, например, на perl или php.
Или быстрая отправка письма одной строкой:
Другие полезные параметры команды mail:
Ниже пример использования этих опций:
Возможно задавать несколько получателей, перечисляя их адреса через запятую.
Указать адрес отправителя тоже несложно, но здесь есть своя хитрость. После отправляемого письма необходимо добавить перед своим адресом следующую последовательность символов:
(двойное тире) (пробел) (одинарное тире) (без пробела) f
Однако приведенная выше последовательность может работать в centos, но не в debian или ubuntu. В этих системах используется альтернативный синтаксис:
Опция a в целом добавляет дополнительные заголовки. Чтобы задать с ее помощью отправителя, используется следующий синтаксис:
Обратите внимание, что бы экранируем угловые скобки, так как они могут иметь свое назначение для командной оболочки.
Отправка писем с вложениями
Команда mail используется до сих пор, так как это простой и быстрый способ отправки писем, однако она, к сожалению, не поддерживает отправку вложений. Теперь мы сделаем следующий шаг и откроем для себя MUTT. Это очень мощный консольный почтовый клиент, и он умеет намного больше, чем просто отправка писем с вложениями, но в данном случае нас интересует именно эта возможность.
Если mutt по умолчанию у вас не установлен, вы можете сделать это с помощью apt-get или yum от имени root (или используя sudo):
Для пользователей Debian / Ubuntu:
Для пользователей Fedora / CentOS или Red Hat Enterprise Linux (RHEL):
Теперь вы можете отправлять письма с вложениями из командной строки.
Отправка простого письма:
Отправка письма с вложением:
Отправка писем из скриптов bash/shell
Теперь давайте копнем глубже и попробуем отправить письмо из скрипта оболочки. Ниже простой скрипт, отправляющий информацию по использованию диска.
Команда echo в начале третьей строки добавляет текст «Archived configuration files» в тело письма.
Чтение писем
До сих пор мы рассматривали отправку писем из командной строки. На самом деле также легко можно читать письма из командной строки:
Вы вероятно заметили, что для отправки и получения писем мы используем одну и ту же команду. Однако для чтения писем не нужно добавлять никаких опций.
Ниже простой вывод:
Команда Maildir-utils
Пользователи Debian/Ubuntu могут установить его с помощью apt-get:
Пользователи Fedora / CentOS / Red Hat Enterprise Linux (RHEL) могут использовать yum:
Ниже пара простых команд из этого пакета:
для поиска писем от william с темой report.
Чтобы проверить текущие настройки почты, используется опция info.
Итак, можно подвести итоги. На самом деле получение и отправление писем из командной строки не представляет особой сложности, если вы знаете, что делаете.
Консольный почтовый клиент?
На своём ноутбуке я стремлюсь создать среду, в которой будет сведено к минимуму использование мыши.
Я использую awesome wm и firefox+vimperator. К сожалению, в случае с почтой я ещё не выработал приемлемого решения. Сейчас я пользуюсь или Яндекс.Почтой (веб-мордой) или Thunderbird (и даже Muttator) не спасает…
Моя сейчашняя цель: найти идеальный консольный почтовый клиент.
Я настроил offlineimap + msmtp, и теперь при наличии Maildir с моей почтой, я подыскиваю подходящий MUA.
Мои требования к почтовому клиенту выглядят так:
1) Быстрый поиск a la поиск в веб-версии (по возможности, лучше)
2) Быстрая работа с ящиком на 45k+ писем
3) Адекватная контактная книга с автодополнением хоть в каком-то виде (a la веб-интерфейс)
5) Очень желательно vim-подобный интерфейс, и обязательно vim в качестве редактора текстов
Я нарыл следующие варианты:
1) Sup. Все писают от него кипятком, но он не поддерживается с 2011 года, я не смог его нормально запустить
2) Mutt. Очень популярен, но последняя версия датируется 2010 годом. Есть версия mutt-kz с поддержкой notmuch, но в чём тогда её преимущество перед notmuch?
3) Notmuch. Пишут, что были вдохновлены Sup. Notmuch плотно интегрирован с поисковым движком и имеет массу фронтендов: notmuchmail.org/frontends/. Среди них я пока не нашёл идеального
Собственно, вопрос: можете ли вы посоветовать мне что-то конкретное (из этого списка или нет)? Может быть вы чем-то пользовались, но разочаровались? Любая информация будет полезна!



