Настройка и использование Mutt для Gmail в терминале Linux
Коротко о Mutt
Mutt — это свободный текстовый почтовый клиент для Unix-подобных систем. Он предназначен для чтения и отправки писем по IMAP/POP3 и SMTP, удобен для скриптов и автоматизации, экономит ресурсы и хорошо интегрируется с системными инструментами.
Ключевые преимущества одной строкой:
- Лёгкий, быстрый, пригоден для серверных сценариев.
- Поддерживает вложения, CC/BCC, threading, разные форматы почтовых ящиков (mbox, maildir и т.д.).
- Удобен для автоматизации из shell-скриптов.

Чему посвящена эта статья
В статье подробно показано:
- как установить Mutt на популярных дистрибутивах;
- как подготовить директории и создать конфигурацию (~/.mutt/muttrc);
- какие параметры используют IMAP и SMTP для Gmail (включая порты);
- рекомендации по безопасности (пароли приложений, хранение секретов);
- примеры команд отправки писем и вложений;
- чек-листы и критерии приёмки для валидации настройки;
- распространённые ошибки и способы их устранения.
Важно: все примеры используют placeholder‑значения — замените username и пароли на свои. Не храните открытые пароли в текстовых файлах без шифрования.
Установка Mutt
Установите пакет через менеджер пакетов вашего дистрибутива.
На Ubuntu / Debian:
sudo apt-get update
sudo apt-get install muttНа RHEL / CentOS (YUM):
sudo yum install muttНа Fedora (DNF):
sudo dnf install muttНа Arch-based:
sudo pacman -S muttПосле установки проверьте версию:
mutt -vЕсли планируете отправлять почту из скриптов, также рассмотрите установку msmtp или nullmailer для более гибкой отправки — в разделе «Альтернативы» ниже представлены варианты.
Первичная настройка и структура директорий
Создайте каталоги для кеша и файла сертификатов, а также файл конфигурации muttrc:
mkdir -p ~/.mutt/cache/headers
mkdir -p ~/.mutt/cache/bodies
touch ~/.mutt/certificates
mkdir -p ~/.mutt
touch ~/.mutt/muttrcОткройте конфигурационный файл в удобном редакторе (пример использует nano):
sudo nano ~/.mutt/muttrcНиже — минимальный рабочий пример для Gmail через IMAP и SMTPS (рекомендуется использовать пароль приложения Google или OAuth2-реализацию; см. раздел безопасности). Замените username@gmail.com и password/app-password на свои значения.
# Основные параметры отправителя
set from = "username@gmail.com"
set realname = "Имя Фамилия"
# IMAP
set imap_user = "username@gmail.com"
set imap_pass = "<пароль_или_пароль_приложения>"
# SMTP (smtps: SSL/TLS на порту 465)
set smtp_url = "smtps://username@gmail.com@smtp.gmail.com:465/"
set smtp_pass = "<пароль_или_пароль_приложения>"
# Папки
set folder = "imaps://imap.gmail.com/"
set spoolfile = "+INBOX"
set postponed = "+[Gmail]/Drafts"
set record = "+[Gmail]/Sent Mail"
set trash = "+[Gmail]/Trash"
# Кеширование заголовков
set header_cache = ~/.mutt/cache/headers
set message_cachedir = ~/.mutt/cache/bodies
set certificate_file = ~/.mutt/certificates
# Удобства
set timeout = 10
set mail_check = 60
# Опционально: использовать внешнюю программу для отправки (msmtp)
# sendmail = "/usr/bin/msmtp"Примечание: можно также использовать STARTTLS на порту 587: поменяйте smtp_url на “smtp://username@smtp.gmail.com:587/“ и включите set smtp_use_starttls = yes.
Разбор параметров muttrc
- from — адрес отправителя, который увидят получатели.
- realname — отображаемое имя.
- imap_user / imap_pass — учётные данные для IMAP.
- smtp_url / smtp_pass — параметры подключения к SMTP (TLS/SSL) и пароль.
- folder / spoolfile / postponed / record / trash — путь к удалённым папкам Gmail через IMAP.
- header_cache / message_cachedir — локальное кеширование для ускорения работы.
Настройки Gmail (IMAP/SMTP)
Для Gmail типичные значения портов и серверов:
- IMAP-сервер: imap.gmail.com, порт 993, SSL/TLS
- SMTP-сервер (SSL): smtp.gmail.com, порт 465, SMTPS
- SMTP-сервер (STARTTLS): smtp.gmail.com, порт 587, STARTTLS

Перед подключением убедитесь, что в настройках Google аккаунта включён IMAP (Gmail → Настройки → Пересылка и POP/IMAP → Включить IMAP).
Если у вас включена двухфакторная аутентификация (2FA), стандартный пароль аккаунта использовать нельзя — создайте пароль приложения (App password) в консоли безопасности Google (Раздел «Пароли приложений») и используйте его в muttrc.
Если 2FA не включена, Google постепенно отключает «менее безопасные приложения», поэтому рекомендуем сразу настроить пароль приложения или OAuth2.
Аутентификация: пароль приложения vs OAuth2
Выбор метода аутентификации влияет на безопасность и удобство:
- Пароль приложения (App Password): простой, быстрый, безопаснее обычного пароля; требует включённой 2FA.
- OAuth2/XOAuth2: более современно и безопасно, но сложнее в настройке; требует дополнительных плагинов или внешних вспомогательных скриптов для получения токенов.
Рекомендация: если хотите простую и надёжную настройку — включите 2FA и создайте пароль приложения для Mutt. Если требуется корпоративная интеграция или централизованное управление токенами — настройте OAuth2.
Как использовать Mutt: команды и примеры
Запуск интерфейса:
muttОсновные сочетания клавиш (в интерфейсе Mutt):
- m — создать новое письмо
- q — выйти
- d — удалить
- r — ответить
- y — отправить письмо (при подтверждении)
- i — вернуться к списку писем
Отправка письма в одну строку (только тема и адрес):
mutt -s "Тестовое письмо из mutt" recipient@example.comОтправка письма с текстом из echo (pipe):
echo "Текст сообщения" | mutt -s "Тест из mutt" recipient@example.comОтправка письма с вложением (правильный синтаксис с – для разделителя адресов):
echo "Тело" | mutt -s "Тема" -a /path/to/file.txt -- recipient@example.comНесколько вложений — повторите флаг -a:
echo "Тело" | mutt -s "Тема" -a /path/to/file1.tar.gz -a /path/to/file2.jpg -- recipient@example.comCC и BCC через опции -c и -b (указывайте перед списком получателей):
echo "Сообщение" | mutt -s "Тест" -c cc@example.com -b bcc@example.com -- to@example.comОтправка на несколько адресов (через запятую или пробел):
echo "Тело" | mutt -s "Тест" -- user1@example.com user2@example.comПолучение помощи по параметрам командной строки:
mutt -hПримеры для автоматизации в скриптах
Простой скрипт для уведомлений:
#!/bin/bash
SUBJ="Backup finished"
BODY="Резервное копирование завершено успешно"
echo "$BODY" | mutt -s "$SUBJ" -a /var/log/backup.log -- ops@example.comВажно: в продакшене храните секреты (пароли) безопасно, см. раздел безопасности.
Интерфейс и ограничение Mutt
Mutt — текстовый клиент; он не отображает встроенные HTML-письма с изображениями как графику, и работа с HTML требует рендеринга через внешние утилиты (w3m, lynx, elinks). Для просмотра встроенных изображений или сложного HTML лучше использовать графический клиент.

Безопасность и хранение паролей
Рекомендации по безопасности:
- Включите двухфакторную аутентификацию (2FA) для аккаунта Google.
- Создайте пароль приложения и используйте его в muttrc вместо основного пароля.
- Не храните пароли в незашифрованных файлах в домашней директории. Используйте gpg, pass или системные менеджеры ключей (gnome-keyring, KDE Wallet).
- Для отправки можно использовать отдельный агент (msmtp) с его собственными механизмами хранения паролей.
Пример использования GPG для хранения пароля (подход):
- Создайте зашифрованный файл с паролем:
echo "пароль_приложения" | gpg -e -r "Your Name" -o ~/.mutt/.imap_pass.gpg- В скрипте расшифровывайте перед запуском mutt и экспортируйте в переменную окружения, чтобы muttrc ссылался на неё (обходные пути зависят от вашей среды). Не храните результат расшифровки в открытом виде.
Важно: конкретная интеграция mutt с gpg/secret-store требует аккуратной настройки и тестирования.
Тонкие места и когда Mutt не подходит
Counterexamples / когда Mutt не лучший выбор:
- Вы активно работаете с HTML-письмами с встроенными картинками — предпочтительнее графический клиент.
- Нужна тесная интеграция с календарём/контактами без дополнительных плагинов.
- Требуется поддержка корпоративного OAuth2 с автоматическим обновлением токенов без сложной настройки.
Альтернативы:
- Thunderbird / Evolution — графические клиенты с богатым UI.
- msmtp + mailx / s-nail — минималистичные альтернативы для отправки почты из скриптов.
- Mutt + msmtp — сочетание для более гибкой отправки (msmtp управляет SMTP-аутентификацией).
Отладка и типичные ошибки
- Ошибка входа по IMAP/SMTP:
- Проверьте правильность логина и пароля приложения.
- Убедитесь, что IMAP включён в настройках Gmail.
- Если используете двухфакторную аутентификацию, используйте пароль приложения.
- Ошибки сертификата / TLS:
- Проверьте системные CA, обновите пакет ca-certificates.
- Убедитесь, что файл ~/.mutt/certificates существует и доступен.
- Мут не отправляет вложения или ответы:
- Проверьте синтаксис команды: при использовании -a указывайте
--перед списком получателей. - Убедитесь, что файлы доступны и читаемы пользователем.
Полезные команды для диагностики:
openssl s_client -connect imap.gmail.com:993 -crlf
openssl s_client -starttls smtp -connect smtp.gmail.com:587 -crlfЧек-листы по ролям
Администратор (системный):
- Установлен и обновлён пакет mutt.
- Налажено централизованное хранение секретов (vault / gpg).
- Документировано использование паролей приложений и политика 2FA.
Разработчик / автоматизатор:
- Скрипты логируют успешные/ошибочные отправки.
- Пароли не попадают в лог-файлы.
- Используются exit-коды для интеграции с CI/monitoring.
Пользователь (конечный):
- Включён IMAP в Gmail.
- Создан пароль приложения при включённой 2FA.
- Конфигурация muttrc проверена и содержит корректные пути.
Критерии приёмки
Для считать настройку успешной, выполните следующие проверки:
- Mutt запускается без ошибок:
mutt -vиmuttоткрывает интерфейс. - Вход в папку INBOX возможен и показываются заголовки писем.
- Отправка тестового письма проходит (получатель получил письмо).
- Отправку с вложением и на несколько адресов можно выполнить из одной команды.
- После отправки письмо появляется в папке “Отправленные” в Gmail (через IMAP папку Sent Mail).
Набор тестов / приемочные сценарии
- Прочитать список писем INBOX — критерий: отображение заголовков за последние 7 дней.
- Отправить письмо с одним вложением — критерий: получатель получил вложение и тема соответствует.
- Отправить письмо с CC и BCC — критерий: CC‑получатель видит копию, BCC‑получатель — нет других адресов.
- Скрипт автоматической отправки после cron — критерий: скрипт возвращает 0 и письмо приходит.
Decision flowchart: как выбрать метод аутентификации
flowchart TD
A[Нужна отправка почты из терминала?] --> B{Есть 2FA в аккаунте Google?}
B -- Да --> C[Создать пароль приложения и использовать его в muttrc]
B -- Нет --> D{Хотите более безопасно и управляемо?}
D -- Да --> E[Включить 2FA, затем создать пароль приложения или настроить OAuth2]
D -- Нет --> F[Можно использовать пароль аккаунта 'не рекомендуется']
C --> G[Тест: отправить и получить письмо]
E --> G
F --> GPrivacy и юридические замечания
Хранение электронной переписки и логов локально может попадать под требования корпоративной политики или регионального законодательства (например, правила хранения персональных данных). При управлении пользовательскими письмами соблюдайте внутренние регламенты и требования к защите данных.
Итоги и рекомендации
Mutt — отличный инструмент для тех, кто предпочитает терминал и нуждается в лёгком, скриптуемом почтовом клиенте. Для работы с Gmail:
- Включите IMAP в настройках Gmail.
- Включите 2FA и создайте пароль приложения или настройте OAuth2 при необходимости.
- Храните пароли в зашифрованном виде и документируйте процесс восстановления.
Совет: если вам нужна гибкая отправка почты в скриптах, сочетание mutt (для чтения/композиций) и msmtp (для отправки) даёт хороший баланс безопасности и управляемости.
Важно: перед развёртыванием на сервере проверьте все сценарии отправки и логи на предмет утечек секретов.
Полезные ссылки и команды-напоминания
- Включение IMAP: Gmail → Настройки → Пересылка и POP/IMAP
- Создание пароля приложения: Аккаунт Google → Безопасность → Пароли приложений
- Команды диагностики TLS: см. openssl s_client выше
Заметки:
- Mutt не рендерит HTML по умолчанию — используйте внешние рендереры (w3m, lynx) для просмотра HTML-писем.
- Для корпоративных почтовых систем уточняйте требования к OAuth2 и SSO у администратора.
Краткое резюме: Mutt — лёгкое и надёжное решение для работы с электронной почтой в терминале. При правильной настройке и защите секретов оно подходит и для личного использования, и для автоматизированных уведомлений на серверах.
Похожие материалы
Показываем и управляем sideload приложениями на Android TV
Медленный мобильный интернет: 10 шагов для ускорения
Как выбрать тариф iCloud+ — 50GB–12TB
Как заменить фон меню GRUB на своё изображение
Организация содержимого PS4 — полное руководство