Гид по технологиям

Mutt: как настроить Gmail и отправлять почту из терминала

7 min read Linux Обновлено 18 Dec 2025
Mutt: настроить Gmail и отправлять почту из терминала
Mutt: настроить Gmail и отправлять почту из терминала

Кратко

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

Настройка Gmail и отправка писем из терминала

Отправка писем из терминала 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 для навигации по письмам

Замечание: Mutt вызывает внешний редактор для тела письма (по умолчанию $EDITOR). Для быстрого редактирования используйте nano или vim в зависимости от привычек.

Частые примеры команд

  1. Отправка письма с темой из командной строки:
mutt -s "Testing Email from mutt" winibhalla234@gmail.com
  1. Передать текст письма через pipe:
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla1234@gmail.com
  1. Отправка письма с вложением:
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla645@gmail.com test.txt
  1. Несколько вложений (через ключ -a; файлы перечисляются через пробел):
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla543@gmail.com -a test.tar.gz -a test2.tar.gz --

Обратите внимание: некоторые версии Mutt требуют явно указать разделитель -- перед списком получателей, когда используются опции -a.

  1. Отправка нескольким получателям:
mutt -s "Testing Email from mutt" demo1@muo.com,demo2@muo.com,demo3@muo.com
  1. CC и BCC:
mutt -s "Test Email" -c winibhalla123@gmail.com -b winibhalla234@gmail.com winibhalla533@gmail.com
  1. Помощь по командам 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 (быстрый плейбук)

  1. Установите mutt: sudo apt-get install mutt (или аналог для вашего дистрибутива).
  2. Создайте директории: mkdir -p ~/.mutt/cache/{headers,bodies} и touch ~/.mutt/certificates.
  3. Создайте файл ~/.mutt/muttrc и задайте базовые переменные (от, realname, imap_user, imap_pass, smtp_url, smtp_pass, folder и т.д.).
  4. Если включена 2FA, создайте пароль приложения в Google и используйте его в качестве imap_pass/smtp_pass.
  5. Ограничьте права: chmod 600 ~/.mutt/muttrc ~/.mutt/certificates.
  6. Запустите mutt и проверьте подключение к INBOX и функционал отправки.
  7. Выполните тестовую отправку из терминала и проверьте папку Sent в Gmail.
  8. Добавьте правила фильтрации и клавиатурные бинды по необходимости.

Критерии приёмки

  • 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 выше для быстрого развёртывания в вашей среде.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Защита и аудит Docker Engine
Безопасность

Защита и аудит Docker Engine

Material You в Android 12 — настраиваем цвета
Android.

Material You в Android 12 — настраиваем цвета

Удаление неизвестных контактов в Telegram
Инструкции

Удаление неизвестных контактов в Telegram

Как поделиться заметками Kindle с друзьями
Руководство

Как поделиться заметками Kindle с друзьями

Как создать Apple ID на iPhone или iPad
Руководство

Как создать Apple ID на iPhone или iPad

Как разместить музыку на Spotify
Музыка

Как разместить музыку на Spotify