пятница, 2 ноября 2007 г.

Mutt HOWTO

"All mail clients suck. This one just sucks less."

После того, как я перешел на Linux, в качестве почтового клиента я долгое время использовал Mozilla Thunderbird. Потом, посмотрев на своего друга, я решил попробовать Mutt. В итоге Thunderbird был удален, и с тех пор почту я читаю только при помощи Mutt.

Если кто не знает, что такое Mutt, то скажу просто: Mutt - это консольный клиент. Я не буду вас убеждать в том, что он лучше других клиентов, но попробовать поработать с ним все же стоит. Вдруг понравится. :)

Мое мнение - если вы редко получаете письма в HTML формате, то Mutt - очень неплохой выбор, хотя читать почтовые рассылки в Thunderbird лично мне было почему-то удобнее. Никакого неудобства при работе с ним я не испытываю, а уж по сравнению с довольно медленным Thunderbird, Mutt просто "летает". Кстати, у Mutt нет собственного текстового редактора, так что при написании сообщений вы можете использовать свой любимый (к примеру VIM), что лично для меня является большим плюсом.

Если вкратце, то работа с Mutt у меня осуществляется следующим образом:
Каждые 15 минут cron запускает fetchmail, который скачивает все новые письма с моих почтовых аккаунтов и передает их программе procmail. Procmail получает письма и сортирует в соответствии с заданными вами правилами (рассылки в одно место, письма от друзей в другое, все остальное - в третье). Далее я запускаю Mutt, просматриваю полученную почту, пишу письма и т. п. Письма пишутся при помощи VIM, а отправляются програмой msmtp.

В качестве примера я приведу свои конфигурационные файлы, чтобы показать, как настроить Mutt с минимальным количеством телодвижений. В конфигурационном файле Mutt кроме всего прочего прописаны опции для настройки цветовой схемы. С данными настройками внешний вид нашего почтового клиента будет примерно таким:



~/.fetchmailrc:
# Конфигурационный файл для fetchmail

defaults
timeout 60
protocol pop3
port 995
ssl
mda "procmail -f -"

poll pop.gmail.com
username LOGIN_1 password PASSWORD_1

poll pop.gmail.com
username LOGIN_2 password PASSWORD_2


~/.procmailrc:
# Конфигурационный файл для procmail

MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/spool

:0:
* ^To: .*community@lists.altlinux.org.*|^List-Id: ALT Linux Community <community.lists.altlinux.org>|^List-Id: ALT Linux Community general discussions <community.lists.altlinux.org>
lists_altlinux

:0:
* ^To: .*@lists.debian.org.*|^List-Id: <debian-russian.lists.debian.org>
lists_debian

:0:
* ^To: .*ubuntu-ru@lists.ubuntu.com.*
lists_ubuntu


~/.msmtprc:
account LOGIN_1@gmail.com
host smtp.gmail.com
port 587
auth on
tls on
tls_certcheck off
from LOGIN_1@gmail.com
user LOGIN_1@gmail.com
password PASSWORD_1

account LOGIN_2@gmail.com
host smtp.gmail.com
port 587
auth on
tls on
tls_certcheck off
from LOGIN_2@gmail.com
user LOGIN_2@gmail.com
password PASSWORD_2


~/.muttrc:
# Почтовые ящики
set folder = "~/Mail"
set mbox = "=trash"
set spoolfile = "=spool"

# Курсор вместо подсвечивания всей строки текущей позиции
set arrow_cursor = yes

# Не запрашивать подтверждения на удаление сообщений
set delete = yes

# Не перемещать сообщения с флагом в mbox
set keep_flagged = yes

# Запрашивать подтверждения при перемещении прочитанных сообщений в mbox
set move = no 

# Не перемещаться на следующее сообщение, когда текущее просмотрено до конца
set pager_stop = yes

# Путь к файлу, в который будут складываться отправляемые сообщения
set record = ""

# Кодировка отправляемых писем
set send_charset = "utf-8"

# Горячая клавиша для сбора почты
macro index \` "!fetchmail\n"

# Горячая клавиша для внесения изменений
bind index Z sync-mailbox

# Поле FROM
set use_from = yes
set from = "LOGIN@gmail.com"
set realname = "Фамилия Имя"

# Программа для отправки почты
set sendmail = "/usr/bin/msmtp"

# Указывает отправляющей программе, что отправлять надо с
# адресата, который стоит в поле From
set envelope_from = yes 

auto_view text/html

# Настройки цветовой схемы
color attachment default white # Вложения в письме
color bold brightwhite black # Подсветка символов, выделенных bold'ом
color error red default # Сообщения об ошибках

color header brightdefault white ^Subject
color header brightdefault white ^From

color hdrdefault default white # email headers

color index brightdefault default ~O # Старые непрочитанные сообщения
color index brightdefault default ~N # Новые непрочитанные сообщения
color index red default ~F # Помеченные сообщения
color index brightred default ~O~F # Старые непрочитанные помеченные сообщения
color index brightred default ~N~F # Новые непрочитанные помеченные сообщения

color indicator brightdefault default # Текущее положение курсора
color markers brightwhite white # Символы переноса строки ("+")
color message brightdefault default # Сообщения внизу экрана (напр., "Attachment saved")
color normal default default # Весь остальной текст и пространство
color quoted default white # Цитата
color search brightwhite black # Подсветка найденных поиском слов
color signature default white # Подпись внизу сообщения
color status black white # Статусные строки вверху и внизу
color tilde default default # Пространство между последней строкой сообщения и нижней частью экрана
color tree default default # Деревья в тредах
color underline brightwhite black # Подсветка подчеркнутых символов


Полезные ссылки:
Домашняя страница
Страницы документации

4 комментария:

drakulavich комментирует...

Спасибо. Познавательно. Статьи про Mutt и MOC можно объединить заголовком "Нет оконным окружениям" =)

luutsi комментирует...

Спасибо огромное, благодаря Вашей статье нашел где у меня конфиг Мутта глючил.

Анонимный комментирует...

У меня из-за msmtp вообще ничего нельзя отправить, вечно какие-то отмазки возникают под видом различных ошибок. Такое впечатление сложилось, что все эти консольные почтовики полная фигня. Вот в гуевых почтовиках всё прекрасно работает, не то, что в этих недоделках типа mutt.

Анонимный комментирует...

Зачетный пост, спасибо!