Mutt: как настроить Gmail и отправлять почту из терминала
Кратко
Клиент Mutt позволяет полностью управлять почтой Gmail (IMAP/SMTP) из терминала. В статье — пошаговая настройка, примеры команд, проверка безопасности и готовый чеклист для быстрой настройки и отладки.

Отправка писем из терминала Linux полезна для автоматизации, скриптов и быстрых операций без GUI. Легковесный текстовый почтовый клиент Mutt управляет ящиком через IMAP и отправляет через SMTP. Ниже — полное руководство: установка, конфигурация для Gmail, примеры команд, советы по безопасности и чеклисты для разных ролей.
Зачем использовать Mutt
Mutt — это открытый, текстовый почтовый клиент для Unix-подобных систем. Он подходит для сценариев, где важны скорость, автоматизация и работа в терминале. Кратко: если вы пишете скрипты, разворачиваете почтовые уведомления или предпочитаете клавиатурную навигацию, Mutt — естественный выбор.
Краткое определение: Mutt — консольный почтовый клиент, работающий с IMAP/SMTP и поддерживающий вложения, списки рассылки и различные форматы ящиков.
Основные преимущества Mutt
- Лёгкая установка и конфигурация.
- Отправка писем с одиночными и множественными вложениями через командную строку.
- Поддержка полей CC и BCC.
- Потоковая (threaded) организация переписки.
- Поддержка рассылок и фильтров.
- Совместимость с форматами mbox, maildir, MMDF и MH.
- Многоязычный интерфейс (более 20 языков).
- Поддержка уведомлений о доставке (DSN).
Когда Mutt не подходит
- Если вам нужен WYSIWYG-редактор писем с изображениями и HTML-просмотром.
- Для команд, которые ожидают визуальных элементов (встроенные изображения, сложные таблицы).
- Для корпоративных политик, где требуется строгая интеграция с OAuth2 без внешних обвязок.
Важно: Mutt — текстовый клиент. Для отображения HTML/картинок потребуются внешние инструменты и дополнительная обработка вложений.
Установка Mutt на популярных дистрибутивах
Ниже — команды для установки. Выполняйте их в терминале от имени пользователя с правами sudo.
На Ubuntu и Debian:
sudo apt-get install muttНа RHEL/CentOS:
sudo yum install muttНа Fedora:
sudo dnf install muttНа Arch и производных:
sudo pacman -S muttПосле установки удобно создать пользовательскую директорию конфигурации Mutt и кеши.
Первичная конфигурация Mutt
Создайте необходимые каталоги и файл сертификатов:
mkdir -p ~/.mutt/cache/headers
mkdir -p ~/.mutt/cache/bodies
touch ~/.mutt/certificatesСоздайте файл конфигурации пользователя:
touch ~/.mutt/muttrcОткройте файл в удобном редакторе (например, nano):
nano ~/.mutt/muttrcВставьте базовую конфигурацию для Gmail (обратите внимание на замену имени пользователя и пароля):
set from = "username@gmail.com"
set realname = "First Last"
# IMAP settings
set imap_user = "username@gmail.com"
set imap_pass = ""
# SMTP settings
set smtp_url = "smtps://username@smtp.gmail.com"
set smtp_pass = ""
# Remote Gmail folders
set folder = "imaps://imap.gmail.com/"
set spoolfile = "+INBOX"
set postponed = "+[Gmail]/Drafts"
set record = "+[Gmail]/Sent Mail"
set trash = "+[Gmail]/Trash" Замените username, First и Last на ваши реальные данные. Если вы используете двухфакторную аутентификацию (2FA) в Google, для IMAP/SMTP нужно создать специальный пароль приложения (app password) или настроить OAuth2-авторизацию.
Что означает каждая опция
- from — адрес отправителя.
- realname — видимое имя отправителя.
- imap_user — логин для IMAP (обычно полный email).
- imap_pass — пароль IMAP (или пароль приложения).
- smtp_url — URL для отправки почты через SMTPS/SMTP.
- smtp_pass — пароль SMTP.
- folder — корневой URL IMAP-папок.
- spoolfile — папка входящих сообщений.
- postponed — папка черновиков.
- record — папка для копий отправленных сообщений.
- trash — папка для удалённых.
Важно: хранить пароли в открытом виде небезопасно. Рассмотрите использование файлов с правами 600 или менеджера секретов.
Настройки IMAP и SMTP для Gmail
Типичные параметры Gmail (проверяйте официальную документацию Google при изменениях):
- IMAP (входящая): imap.gmail.com, порт 993, TLS/SSL
- SMTP (исходящая): smtp.gmail.com, порт 465 (SMTPS) или 587 (STARTTLS)
Если у вас включена двухфакторная аутентификация, создайте пароль приложения в аккаунте Google: Security → App passwords. Этот пароль используйте вместо основного пароля в muttrc.
Важно: Google постепенно ужесточает доступ приложений. OAuth2 — более безопасный вариант, но требует дополнительной настройки (внешние утилиты или патчи для Mutt).
Запуск и базовое использование Mutt
Запустите Mutt командой:
muttВнутри Mutt:
- Нажмите m — составить новое сообщение.
- q — выйти.
- d — пометить письмо на удаление.
- r — ответить.
- y — отправить.
- i — вернуться в индекс.
Замечание: Mutt вызывает внешний редактор для тела письма (по умолчанию $EDITOR). Для быстрого редактирования используйте nano или vim в зависимости от привычек.
Частые примеры команд
- Отправка письма с темой из командной строки:
mutt -s "Testing Email from mutt" winibhalla234@gmail.com- Передать текст письма через pipe:
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla1234@gmail.com- Отправка письма с вложением:
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla645@gmail.com test.txt- Несколько вложений (через ключ -a; файлы перечисляются через пробел):
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla543@gmail.com -a test.tar.gz -a test2.tar.gz --Обратите внимание: некоторые версии Mutt требуют явно указать разделитель -- перед списком получателей, когда используются опции -a.
- Отправка нескольким получателям:
mutt -s "Testing Email from mutt" demo1@muo.com,demo2@muo.com,demo3@muo.com- CC и BCC:
mutt -s "Test Email" -c winibhalla123@gmail.com -b winibhalla234@gmail.com winibhalla533@gmail.com- Помощь по командам Mutt:
mutt -hПрактические подсказки и хаки
- Для автоматизации в скриптах используйте пароли приложений и ограничьте права на muttrc:
chmod 600 ~/.mutt/muttrc. - Если вы отправляете много писем из cron, указывайте полный путь к mutt и переменные окружения:
MAILRC=/home/user/.mutt/muttrc mutt -s .... - Для хранения чувствительных данных используйте менеджеры секретов (pass, gpg) и подставляйте их в скрипт при выполнении.
Пример использования gpg для подстановки пароля в muttrc (простейшая идея):
set imap_pass = `gpg -dq ~/.mail/imap_pass.gpg`
set smtp_pass = `gpg -dq ~/.mail/smtp_pass.gpg`(Убедитесь, что shell-использование обратных кавычек безопасно в вашей среде.)
Безопасность и рекомендации
- Используйте пароли приложений для аккаунта Google вместо основного пароля при включённой 2FA.
- Для корпоративных почтовых серверов отдавайте предпочтение OAuth2, если это возможно.
- Храните muttrc и файлы с паролями с правами 600 и в домашней директории.
- Проанализируйте логи подключения при проблемах: /var/log/mail.log или journalctl в зависимости от системы.
Важно: не выкладывайте muttrc с паролями в публичные репозитории.
Отладка и типичные проблемы
Проблема: не подключается к IMAP/SMTP
- Проверьте правильность host/port и включён ли SSL/TLS.
- Если ошибка аутентификации — проверьте пароль приложения или OAuth2.
- Проверьте сетевые ограничения: брандмауэр или ограничения провайдера.
Проблема: вложения не доходят или искажаются
- Убедитесь, что Mutt правильно кодирует вложения; используйте
-aдля вложений и указывайте корректные MIME-тип/кодировку при необходимости.
Проблема: Mutt не отправляет через smtp.gmail.com
- Попробуйте порт 465 (smtps) или 587 (starttls) и соответствующие настройки
smtp_url.
Пошаговый SOP для настройки Gmail в Mutt (быстрый плейбук)
- Установите mutt:
sudo apt-get install mutt(или аналог для вашего дистрибутива). - Создайте директории:
mkdir -p ~/.mutt/cache/{headers,bodies}иtouch ~/.mutt/certificates. - Создайте файл
~/.mutt/muttrcи задайте базовые переменные (от, realname, imap_user, imap_pass, smtp_url, smtp_pass, folder и т.д.). - Если включена 2FA, создайте пароль приложения в Google и используйте его в качестве
imap_pass/smtp_pass. - Ограничьте права:
chmod 600 ~/.mutt/muttrc ~/.mutt/certificates. - Запустите
muttи проверьте подключение к INBOX и функционал отправки. - Выполните тестовую отправку из терминала и проверьте папку Sent в Gmail.
- Добавьте правила фильтрации и клавиатурные бинды по необходимости.
Критерии приёмки
- Mutt успешно подключается к IMAP и отображает список писем.
- Отправка писем через SMTP проходит успешно (письма появляются в [Gmail]/Sent Mail).
- Вложение отправляется и корректно открывается на стороне получателя.
- Пароль не хранится в общедоступных файлах; права на конфигурацию ограничены 600.
Чеклист для ролей
Администратор:
- Настроил серверные политики и проверил доступ по портам 993 и 465/587.
- Провёл инструктаж по безопасному хранению паролей.
Разработчик/DevOps:
- Интегрировал отправку писем в скрипты/CI, использует
muttс явнымMAILRC. - Настроил логирование попыток отправки.
Пользователь:
- Имеет рабочую копию
~/.mutt/muttrcс корректными правами доступа. - Протестировал базовые команды отправки и вложений.
Шаблон команд для быстрого копирования
- Открыть mutt:
mutt- Отправить письмо с телом через echo:
echo "Тело письма" | mutt -s "Тема" someone@example.com- Отправить письмо с вложением:
echo "Тело" | mutt -s "Тема" -a /path/to/file -- recipient@example.comКороткий глоссарий
- IMAP — протокол доступа к почтовому ящику (входящая почта).
- SMTP — протокол отправки почты (исходящая почта).
- SMTPS — SMTP поверх TLS.
- Пароль приложения — временный пароль для приложений при включённой 2FA.
Заключение
Mutt — надёжный инструмент для пользователей, которым нужна быстрая, программируемая и лёгкая почтовая работа в терминале. Он идеально подходит для автоматизации уведомлений и управления почтой без графического интерфейса. При корректной настройке и соблюдении мер безопасности вы получите мощный и стабильный поток почтовых операций из командной строки.
Важно: если вам нужна встроенная поддержка OAuth2, подготовьтесь к дополнительной настройке или используйте внешние обвязки/утилиты, которые обеспечат безопасную авторизацию через токены.
Спасибо за внимание — используйте чеклист и SOP выше для быстрого развёртывания в вашей среде.