Mutt, ssmtp и отправка отчетов

Иногда передо мной встает задача отправки писем с удаленного *nix-сервера на определенный почтовый ящик. Например, каждый день запускается задача обработки каких-то лог-файлов, по результатам строится отчет и отправляется письмом. Или необходимо проконтролировать создание резервной копии. Для отправки таких вот отчетов я пользуюсь mutt. В этой заметке я опишу процесс подключения к mutt почтового ящика Gmail.

Mutt - почтовый клиент с текстовым интерфейсом для *nix подобных систем. Был написан в 1995 году и до сих пор развивается. Официальный сайт проекта http://www.mutt.org/ . Изначально mutt мог только просматривать почту, но последние версии умеют получать, отправлять и фильтровать почтовые сообщения.

Для того, чтобы послать письмо с вложением при помощи mutt, достаточно команды:

Mutt -s "Message subject" [email protected] -a file

  • -s "Message subject" - задает тему сообщения
  • -a file - имя прикрепляемого файла
  • [email protected] - получатель письма.

К письму можно прикрепить несколько файлов или указать несколько получателей. Текст письма программа читает из stdin.

Установка и настройка

Установить mutt в CentOS можно командой:

# yum install mutt

Конфигурационный файл находится в ~/.muttrc. Ниже описан пример этого файла для подключения почтового ящика Gmail.

Set realname = "Backup Account" set use_from = yes set editor="nano" set sort = reverse-threads set sort_aux = last-date-received ## confirmation skipping set fast_reply=yes # when replying, don"t prompt for address set include=yes # include original text on reply? set forward_quote=yes # include original text on forward? set delete=yes # don"t ask for delete confirmation set from = [email protected] set imap_user = [email protected] set imap_pass = y0urpa55w0r9 set smtp_url = smtp://[email protected]:587/ set smtp_pass = y0urpa55w0r9 ## don"t let your firewall kill your idle connection set imap_keepalive = 900 ## do not copy sent mail set copy = no set move = no set folder = imaps://imap.gmail.com:993 set spoolfile = +INBOX #or +/Important set postponed = +/Drafts ## cache set header_cache = ~/.mutt/cache/headers set message_cachedir = ~/.mutt/cache/bodies set certificate_file = ~/.mutt/certificates ## SSL set ssl_starttls = yes set ssl_force_tls = yes set smtp_authenticators = "login"

Теперь запустим почтовый клиент набрав в команду:

И, возможно, с первого раза у нас не получится подключиться, а на почтовый ящик gmail придет письмо о том, что к вашему аккаунту gmail пытались подключиться из ненадежного источника. Для того, чтобы избежать этого, необходимо в свойствах безопасности аккаунта разрешить подключение от ненадежных источников.

Если при запуске клиента в консоль выводится нечто похожее:

Reading imaps://imap.gmail.com:993/INBOX... Looking up imap.gmail.com... Connecting to imap.gmail.com... TLSv1.2 connection using TLSv1/SSLv3 (ECDHE-RSA-AES128-GCM-SHA256) Logging in... )

Настройки mutt загружаются в следующей последовательности /etc/mutt/Muttrc —> ~/.muttrc или файл ~/.mutt/muttrc и настройки из.muttrc переопределяют общесистемные настройки. Так же возможно использовать файлы вида.muttrc- подробнее про это можно найти в .

Файл настроек

Файл настроек состоит из набора команд. В каждой строке может быть одна или несколько команд. В случае, если используется несколько команд в строке, они должны разделяться точкой с запятой (;).

В файле могут содержаться комментарии, строки начинающиеся с символа хэш (#)

Символы (‘) и («) используются для ввода строк, которые содержат пробелы или другие специальные символы. Разница между символами (‘) и («), такая же как и в sh/zsh, т.е. строки заключенные в одиночные кавычки просто подставляются, а строки в двойных кавычках выполняются. Например символы, начинающиеся с \ (\n и т.п.) будут подставлены в («), но не в (‘). Для подстановки » внутри строк, заключенных в кавычки нужно их экранировать.

Символы (`) могут использоваться для запуска внешних команд. Например:

My_hdr X-Operating-System: `uname -a`

А к доступ к переменным окружения можно получить так же как и в sh/zsh осуществляется с помощью символа $.

Большим плюсом файла настройки.muttrc является возможность подгружать дополнительные файлы при помощи команды source filename. Это позволяет разбивать файл настроек на большое количество сгруппированных по назначению файлов, что сильно упрощает поддержку mutt.

пример настроек

Теперь пример простого muttrc файла:

Set arrow_cursor # выделять строку символами -> set charset="utf-8" # кодировка терминала set copy=yes # сохранять копии отправляемых писем set edit_headers="yes" # редактирование заготовков при создании письма set menu_scroll # прокручивать список писем по 1 строке set mail_check=3 # интервал проверки почты set mbox=+mbox # файл для хранения прочитанных сообщений set mbox_type=Maildir set record=+sent # куда сохранять отправленные письма set signature="~/.mutt/.signature" # файл с подписью к сообщениям set send_charset="utf-8:koi8-r:windows-1251:us-ascii:iso-8859-1" # кодировка в которой отправлять письма set move = no # переносить письма из папки IMAP set use_from = "yes" set envelope_from = "yes" set beep = "no" # не пищать set imap_keepalive = 900 set use_from set reverse_name # подставлять в поле FROM данные из поля TO set ssl_starttls=yes # использование tls set rfc2047_parameters = yes # правильно декодировать не utf поле from # сортировка писем при просмотре set sort=threads # сортировать по веткам дискуссии< set sort_aux=reverse-date-received # set sort_browser=reverse-date # ви ignore * # игнорировать все заголовки unignore from: date subject to cc # разрешить следующие поля from unignore x-mailing-list: posted-to: # разрешить следующие поля unignore x-mailer: hdr_order Date From To Cc # порядок полей

А теперь о том, как настроить почтовые ящики.

Set folder=/home/qnikst/.Mail/ # папка для писем set from="@gmail.com" # поле from по умолчанию set spoolfile="+gmail/INBOX" # файл почты account-hook . "unset preconnect imap_user imap_pass imap_authenticators;" # удалить imap данные folder-hook gmail "set from="@gmail.com"" # в случае если мы в папке gmail folder-hook gmail "set postponed="+gmail//Drafts"" # установить папку черновиков # установка настроек smtp на основе hook"ов на послании письма send-hook "~f @gmail.com" "set smtp_url=smtp://@smtp.gmail.com:587/"
send-hook "~f @gmail.com" "set smtp_pass="" send-hook "~f @gmail.com" "set realname="""

С подобным конфигом mutt уже вполне готов к работе. А о дальнейших возможностях настройки и использования mutt разговор пойдёт в следующих постах.

getmail - программа для забора почты с POP3 ящиков, написана на языке Python.

getmail - программа для забора почты с POP3 ящиков, написана на языке Python. Программа намного проще и удобнее в настройке, чем ее аналог fetchmail, правда, менее функциональна: в частности, отсутствует поддержка IMAP и POP3S (в документации предлагается использовать для этих целей stunnel).

Настройка По умолчанию файл конфигурации находится в ~/.getmail/getmailrc. Формат его очень прост: сначала должна присутствовать секция , в которой указываются общие настройки для всех аккаунтов, затем следует настройка отдельных аккаунтов, для которых, в частности, могут быть переопределены настройки из секции . Сейчас я приведу пример данного файла, а потом поясню, что значит каждая строчка.

Delete = 1 # удалять сообщения после получения verbose = 1 # выводить на экран отладочную информацию message_log = "~/.getmail/log" # вести журнал readall = 1 # загружать сообщения, помеченные как прочитанные postmaster = "|procmail" # перенаправлять почту procmail"у
# название учетной записи server = pop.somewhere.ru # адрес POP3-сервера username = somebody # имя пользователя password = "this is a secret" # пароль (если хотите использовать # специальные символы, надо взять в двойные кавычки) delete = 0 # для данного аккаунта оставлять письма на сервере после получения readall = 0 # для данного аккаунта не загружать сообщения, # помеченные как прочитанные
server = some.thing.net username = user password = pass

На этом настройка getmail’а заканчивается, для подробной информации читайте «man getmail», а также документацию, которая скорее всего находится в директории /usr/local/share/doc/getmail.

procmail

procmail служит для фильтрации и сортировки писем. Файл конфигурации procmail по умолчанию - ~/.procmailrc, в котором содержатся правила фильтрации. Пример ~/.procmailrc, который фильтрует различные почтовые рассылки и складывает их в разные ящики:

MAILDIR=$HOME/mail # путь к почтовому ящику LOGFILE=$HOME/.procmaillog# путь к файлу журнала
:0: * ^List-Id: bugtraq
:0: * ^List-Id: fluxbox-users
:0: * ^Subject:.*WWC.* | iconv -c -f cp1251 -t koi8-r | formail -i "Content-Type: text/plain; charset="koi8-r"" >>wwc
:0: * ^TO_(mutt-users\@mutt\.org) mutt-users
:0: inbox

В первом случае мы фильтруем список рассылки [email protected] по List-Id и помещаем письма оттуда в ящик bugtraq, аналогично поступаем со списком рассылки fluxbox-users. Третье правило немного инетерснее. Задача заключается в том, что письма уведомления с форума wwc.ru приходят в кодировке cp1251, причем не содержат заголовок «Content-Type», что несколько усложняет положение. Мы перекодируем сообщение из cp1251 в koi8-r, добавляем заголовок «Content-Type: text/plain; charset=«koi8-r»» и кладем письмо в ящик wwc. Четвертое правило: фильтуем список рассылки mutt-users, который не сожержит заголовок «List-Id». Последнее правило: складываем всю оставшуюся почту в ящик inbox. Другие примеры могут быть найдены в «man procmailex».

msmtp - это так называемый smtp-плагин для MUA. Он более стабильный и у него больше возможностей, чем у nbsmtp. Поддерживает SMTP AUTH: PLAIN, LOGIN и CRAM-MD5, IPv6, TLS зашифрованные соединения и т.д.

Настройка msmtp

Файл конфигурации по умолчанию - ~/.msmtprc. Его формат очень простой, и в большинстве случаев для настройки msmtp хватит трех строк. Пример простейшего ~/.msmtprc:

Account default host smtp.mail.ru from [email protected]

Первая строка - имя аккаунта. Имя аккаунта задается при помощи аргумента «--account=id». Если имя аккаунта не задано, используется аккаунт «default». host - адрес smtp-сервера, который вы хотите использовать для опправки писем. from - ваш e-mail адрес. Описание остальных директив файла конфигурации вы можете найти, набрав «man msmtp», там вы также найдете примеры файла конфигурации.

Настройка mutt

mutt является одним из самых функциональных и удобных консольных mail-клиентов. Файл конфигурации по умолчанию - ~/.muttrc. Пройдемся по этому файлу, я прокомментирую каждую интересную нам строчку.

Set folder = "~/mail" mailboxes =bugtraq mailboxes =fluxbox-users mailboxes =inbox mailboxes =wwc mailboxes =mutt-users
# Тут мы задаем рабочую директорию и список поточых ящиков.
set sort=threads # сортирока сообщений по тредам
set realname="Your Name" # устанавливает имя, то есть в поле from # появится Your Name «[email protected]»
ignore * unignore from: subject to cc \ date x-mailer x-url user-agent # this shows how nicely wrap long lines hdr_order from to cc date subject x-mailer user-agent
# указываем, какие заголовоки нам показывать и в каком порядке.
# Для переноса длинных строк можно использвать символ "\", # как это видно в директиве unignore.
macro index G "!getmail" macro pager G "!getmail"
# Теперь при нажатии «Shift»+«G» запускается getmail
set sendmail="/usr/local/bin/msmtp"
# а для отправки почты используется msmtp
set send_charset="us-ascii:koi8-r:utf-8"
# кодировка по умолчанию для исходящих русских сообщений -- koi8-r
subscribe bugtraq fluxbox-users mutt-users
# подписанные рассылки
# далее идут настройки цветов и другие второстепенные настройки, # пример можно найти в /usr/local/share/examples/mutt/

Теперь запускаем «mutt -y» и тестируем почтовую систему.

Документация: man getmail man procmail man procmailex man msmtp man mutt man muttrc /usr/local/share/doc/getmail/ /usr/local/share/doc/procmail/FAQ /usr/local/share/doc/mutt/manual.txt /usr/local/share/examples/getmail /usr/local/share/examples/procmail /usr/local/share/examples/mutt

(Внимание! Пути могут отличаться, если вы установили соответсивующие пакеты не с помощью системы портов FreeBSD.)

Главное преимущество Mutt, как почтового клиента (по моему мнению), это то - что он консольный. Если кто-то не считает это преимуществом, то дальше можете не читать:). Но, если не менять настройки, mutt просто передает исходящую почту локальному MTA (mail transfer agent), который уже отправляет почту по своему усмотрению. По умолчанию это усмотрение сводится к тому, чтобы отправить почту с localhost (локального доменного имени любого компьютера). Письма, отправленные с такого адреса, обычно классифицируются как спам и до получателя не доходят. Но выход есть.

Выходов даже несколько, но я рассмотрю только один - настройку MTA для работы через внешний SMTP сервер (в данном случае gmail) вместо отправки почты с localhost. Поскольку MTA существуют самые разные и многим нравится только какой-то определенный, я попытаюсь описать настройку нескольких популярных MTA.

1. Sendmail
Классический Sendmail многим не нравится из-за сложной настройки, но все-таки это очень мощный и достаточно распространенный MTA. Итак (все действия будут выполнятся пользователем root),

# apt-get install sendmail

Добавим несколько строк в /etc/mail/sendmail.mc для того, чтобы Sendmail отсылал почту через gmail (добавлять эти строчки нужно до параметров MAILER, иначе потом будет ошибка при сборке конфигов).

define(`SMART_HOST",`smtp.gmail.com")dnl
define(`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
define(`RELAY_MAILER",`esmtp")dnl
define(`RELAY_MAILER_ARGS", `TPC $h 587")dnl
FEATURE(`authinfo",`hash /etc/mail/auth/client-info")dnl

Теперь создадим папку /etc/mail/auth, а в ней - файл client-info, в котором будут храниться наши логин и пароль для [email protected].

# mkdir /etc/mail/auth
# touch /etc/mail/auth/client-info

AuthInfo:smtp.gmail.com "U:root" "I:my.name " "P:password " "M:PLAIN"
AuthInfo:smtp.gmail.com:587 "U:root" "I:my.name " "P:password " "M:PLAIN"

Для пущей безопасности можно сделать этот файл (да и папку тоже) доступными только для пользователя root

# chmod 600 /etc/mail/auth/client-info
# chmod 700 /etc/mail/auth

Преобразуем этот файл в нужный формат

# makemap -r hash /etc/mail/auth/client-info.db
Теперь выполним одно специфичное для Sendmail действие - пересборку конфигурационных файлов

# cd /etc/mail
# make

И наконец перезапускаем MTA для применения изменений

# /etc/init.d/sendmail reload

Готово. Можно отправлять почту.

2. Postfix
Postfix обладает всей мощью Sendmail, будучи полностью с ним совместимым, но при этом он гораздо проще в конфигурации. Кроме того, это мой любимый MTA, так что я не мог обойтись без описания его настройки. Итак (все действия производятся от имени root),

# apt-get install postfix

Скопируем главный настроечный файл postfix в нужное место (почему-то в Kubuntu он не устанавливается по-умолчанию)

# cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf

В конец этого файла добавим несколько строк, чтобы настроить доставку почты через gmail.

relayhost = smtp.gmail.com:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/gmail_passwd
smtp_sasl_security_options = noanonymous

# touch /etc/postfix/gmail_passwd

и добавим в него наши логин и пароль на gmail (my.name заменяем на логин, а password - на пароль).

smtp.gmail.com:587 my.name @gmail.com:password

Преобразуем этот файл в нужный формат (BDB) и для пущей безопасности защитим его от доступа простых смертных.

# postmap /etc/postfix/gmail_passwd
# chown root:postfix /etc/postfix/gmail_passwd*
# chmod 0640 /etc/postfix/gmail_passwd*

Перезапускаем Postfix для применения изменений.

# /etc/init.d/postfix restart

Настройка закончена. MTA готов к отправке почты через gmail.

3. Exim
Exim - один из самых популярных (и мощных) MTA. Именно его мне советовала Kubuntu при установке Mutt. Кроме того, exim уже упоминался в этом блоге, так что описание его настройки вполне закономерно. Итак (всё делаем с правами root),

# apt-get install exim4

Отредактируем следующие параметры в файле /etc/exim4/update-exim4.conf.conf, чтобы отправлять почту через gmail

dc_eximconfig_configtype="smarthost"
dc_smarthost="smtp.gmail.com::587"

gmail-smtp.l.google.com:my.name @gmail.com:password
*.google.com:my.name @gmail.com:password
smtp.gmail.com:my.name @gmail.com:password

Выполним следующую команду для применения новых настроек

# update-exim4.conf

На этом настройка завершена. Exim будет отправлять почту через gmail.

4. Msmtp
Как справедливо заметил Che (см. комментарии после статьи), использовать такие мощные MTA, как три предыдущие, в данной ситуации не рационально. Поэтому в данном случае, msmtp ничем не хуже остальных. Конечно, на его основе нельзя построить полноценный почтовый сервер, но ведь в данном случае это и не требуется. Итак (на этот раз всё выполняем от имени обычного пользователя),

$ sudo apt-get install msmtp

Создаем локальный файл настройки

$ touch ~/.msmtprc

и добавляем в него следующие строки (подставляем вместо my.name свой логин на gmail, а вместо password - пароль)

account default
host smtp.gmail.com
port 587
auth on
tls on
tls_starttls on
tls_certcheck off
from my.name @gmail.com
user my.name @gmail.com
password password

Ограничим права на ~/.msmtprc

$ chmod 600 ~/.msmtprc

$ sudo ln -s /usr/bin/msmtp /usr/sbin/sendmail

И на этом настройка завершена. Можно отправлять почту.

Данная статья покажет вам, как начать использование мощного текстового клиента электронной почты mutt.

If you"re not a fan of e-mail clients with fancy graphical user interfaces, or you just like to be able to quickly read some mail over an SSH connection, the class of console-based mail clients might be for you.

Contents

Введение

Хотя изначально Mutt был разработан, чтобы читать почту из локального почтового ящика (например, /var/spool/mail/ ), сегодня у него есть полная поддержка каталогов Maildir, удаленного подключения к серверам POP3, и полная поддержка аккаунтов IMAP. Для полного описания того, что может делать Mutt, пожалуйста, прочитайте его документацию, и посетите его веб-сайт по адресу http://www.mutt.org/ .

Установка

Чтобы начать ваше приключение с Mutt, вам нужно просто установить его. Однако у Mutt есть много различных опций, которые включают или выключают различные его возможности. Ниже мы кратко обсудим большинство важных USE-флагов, которые вы можете захотеть включить, в зависимости от того, как вы собираетесь использовать Mutt. Заметьте, что включение большинства из них не повредит данной программе, но заставить делать ее больше, чем может захотеть опытный пользователь Mutt.

Emerge

root # emerge --ask --verbose mail-client/mutt

USE flags

berkdb Enable sys-libs/db database backend for header caching
crypt Add support for encryption -- using mcrypt or gpg where applicable
gdbm Enable sys-libs/gdbm database backend for header caching
gpg Enable support for app-crypt/gpgme
gpgme Build gpgme backend to support S/MIME, PGP/MIME and traditional/inline PGP
hcache Enable header cache, one database backend needs to be enabled
idn Enable support for Internationalized Domain Names
imap Add support for IMAP (Internet Mail Application Protocol)
lmdb Enable dev-db/lmdb database backend for header caching
mbox Add support for mbox (/var/spool/mail) style mail spools
nntp Add support for newsgroups (Network News Transfer Protocol)
notmuch Enable support for net-mail/notmuch
pgp_classic Build classic_pgp backend to support PGP/MIME and traditional/inline PGP
pop Enable support for POP3 mailboxes
prefix Defines if a Gentoo Prefix offset installation is used
slang Add support for the slang text display library (it"s like ncurses, but different)
smime Enable support for smime
smime_classic Build classic_smime backend to support S/MIME
smtp Enable support for direct SMTP delivery
tokyocabinet Enable dev-db/tokyocabinet database backend for header caching

Прежде всего, для новичков, USE флаг imap , наверное, является самым важным. Если вы его включите, ничего не сломается, поэтому если вы не уверены, какой аккаунт вы будете использовать с Mutt, просто включите его. Большинство провайдеров электронной почты, даже бесплатные, вроде GMail, сегодня используют IMAP, так как это самый удобный способ сохранять почту, к которой обращаются из нескольких клиентов в одно и то же время и/или из разных мест. Так как IMAP хранит всю почту на сервере, Mutt просто скачивает те сообщения, которые вы хотите видеть.

Часто вам нужно прочитать несколько сообщений несколько раз практически друг за другом, что приведет к тому, что придется скачивать те же самые сообщения снова и снова. Так как это просто пустая трата, Mutt использует штуку, которая называется "кэш заголовков" (hcache), чтобы хранить наиболее важные части сообщений для своих нужд. Данный hcache сохраняется с помощью библиотеки базы данных, из которых поддерживаются четыре: gdbm , berkdb , qdbm и tokyocabinet . Если вы не знаете, какая для вас лучше, выберите gdbm, либо berkdb. Скорее всего, обе из них уже установлены на вашей системе. Если включить USE флаги для более чем одной системы hcache, то Mutt выберет ту, которая ему понравится больше. Он всегда будет использовать только одну (либо вообще ни одной) системы.

Хотя IMAP важен для чтения почты, для отправки почты необходим почтовый сервер. Mutt может общаться с почтовым сервером, если он есть на локальной системе, но часто это не вариант, либо просто не очень хорошее решения, например для ноутбуков, которые часто перемещаются. В Mutt есть поддержка SMTP, которая включается USE флагом smtp USE-flag. Опять же, включив этот флаг, если вы не уверены в нем, вы не повредите вашу систему. Поддержка SMTP в Mutt просто позволяет вам отправить почту через почтовый сервер по вашему выбору, обычно это тот, который даст вам ваш провайдер электронной почты.

Сегодня как IMAP, так и SMTP в основном передаются через защищенные каналы, поэтому если вы еще не включили ни одного из таких флагов, будет разумным включить либо USE-флаг ssl , либо gnutls . Оба из них добавляют безопасные варианты (imaps и smtps) к списку поддерживаемых Mutt протоколов, используя либо реализацию OpenSSL, либо GNUTLS. Если у вас нет строгого предубеждения на этот счет, просто выберите ssl . Скорее всего, он уже есть в ваших глобальных USE флагах в любом случае. Если вы хотите аутентифицировать себя при передаче почты, также добавьте к вашим USE флагам sasl , так как это необходимо для данного действия.

Nowadays, it gets more and more common to sign or even encrypt messages. Mutt supports traditional OpenPGP, S/MIME and both of these through the gpgme wrapper. The easiest way to setup support for signed and encrypted messages is using gpgme USE flag. Documentation and experiences in this area are confusing to say the least, and while gpgme code-path is easiest to setup, it is documented scarcely. When you enable gpgme ensure you also enable this backend in your configuration, see below.

Конфигурация

После того, как вы установили Mutt с выбранным набором USE-флагов, далее необходимо создать файл .muttrc в домашнем каталоге вашего пользователя. Примеры Muttrc-файлов можно найти во многих местах Интернета, а также в документации по Mutt. В каталоге /usr/share/doc/mutt-/samples вы можете найти некоторые примеры файлов muttrc из официальной поставки. Мы обсудим очень маленький файл .muttrc для аккаунта с использованием протокола IMAP и доставкой почты по SMTP ниже.

Files

.muttrc

Файл ~/.muttrc Пример файла.muttrc

# Кодовая страница для отправляемых нами сообщений set send_charset="utf-8" # Если для входящих сообщений не задано кодовой страницы, то, скорее всего, это windows set assumed_charset="iso-8859-1" # Удостоверьтесь что Vim знает о том, что Mutt это почтовый клиент и укажем ему, что создаем сообщений в UTF-8 set editor="vim -c "set syntax=mail ft=mail enc=utf-8"" # Скроллинг по одной строке, а не по странице set menu_scroll=yes # Мы хотим смотреть некоторые MIME-типы не выходя из программы, смотри ниже (после этого листинга кода) объяснения auto_view application/msword auto_view application/pdf # Шаблон по умолчанию для поиска в To, Cc и Subject set simple_search="~f %s | ~C %s | ~s %s" # Настройки потоков, сортировать по потокам set sort=threads set strict_threads=yes # Показываем очки спама (только из SpamAssassin) при чтении сообщения spam "X-Spam-Score: (+).*" "SA: %1" set pager_format = " %C - %[%H:%M] %.20v, %s%* %?H? [%H] ?" # Не показывать все заголовки, только некоторые ignore * unignore From To Cc Bcc Date Subject # в таком порядке unhdr_order * hdr_order From: To: Cc: Bcc: Date: Subject: # Раскрасим все цветами, для примеров раскраски смотри сайт # http://aperiodic.net/phil/configs/mutt/colors color normal white black color hdrdefault green default color quoted green default color quoted1 yellow default color quoted2 red default color signature cyan default color indicator brightyellow red color error brightred default color status brightwhite blue color tree brightmagenta black color tilde blue default color attachment brightyellow default color markers brightred default color message white black color search brightwhite magenta color bold brightyellow default # Если вы не любите черный прогрессбар внизу экрана, # закомментируйте следующую строку color progress white black # Настройки пользователя set realname = "Andrew Dalziel" set from = "[email protected]" alternates "[email protected]|[email protected]" # Данный файл должен существовать, и в нем должна быть ваша подпись. Закомментируйте его, если вы # не хотите использовать подпись set signature = ~/.signature # Алиасы (что-то вроде адресной книги) source ~/.aliases # Настройки соединения IMAP set mail_check=60 set imap_keepalive=300 # Настройки аккаунта IMAP set folder=imaps://[email protected]/ set spoolfile=imaps://[email protected]/ set record=imaps://[email protected]/Sent set postponed=imaps://[email protected]/Drafts # Использовать headercache для IMAP (проверьте, что это каталог для большего быстродействия!) set header_cache=/var/tmp/.mutt # Почтовые ящики для проверки на новую почту mailboxes "=" mailboxes "=Lists" # Почтовые рассылки, на которые мы подписаны (используются регулярные выражения!) subscribe "gentoo-.*@gentoo\\.org" # Конфигурация SMTP для отправки почты set smtp_url=smtp://mail.server/

Заметка
Будет хорошей практикой разобраться со всеми настройками из примера выше. Есть гораздо больше настроек, а некоторые настройки могут не совпадать с вашими. Помните это, когда сначала вам покажется, что Mutt работает не так, как вам хочется.

Пример .muttrc , показанный выше, настраивает ваш аккаунт IMAP, использует SMTP сервер для передачи почты, сохраняет ее в кэше в /var/tmp/.mutt , читает известные алиасы адресов (думайте об этом как об адресной книге) из файла ~/.aliases и добавляет подпись из ~/.signature при создании новой почты. Для серверов IMAP может быть необходимо изменить каталоги для отправляемой, полученной и задержанной почты, так как каталоги Sent и Drafts могут находиться внутри каталога, называемого INBOX . Просто попробовав Mutt, вы без труда определите, так ли это в вашем случае.

Как только вы настроили ваш .muttrc , вы готовы запустить Mutt, просто набрав mutt . Если вы ввели правильный адрес для сервера IMAP, Mutt запросит ваш пароль, а затем загрузит для вас сообщения. Заметьте, что в первый раз вход в ваш почтовый ящик может занять много времени, если у вас есть много сообщений, так как кэш заголовков Mutt пока пуст. Если все получится, то вы окажетесь в вашем почтовом ящике IMAP, готовом к работе.

Навигация достаточно интуитивна, например, может читать сообщения просто нажимая Template:Ket или пробел. Mutt достаточно похож на Vim в том плане, что он использует нажатия клавиш для выполнения большинства своих действий. Лучше всего прочитать документацию по Mutt в Интернете, чтобы узнать все существующие функции (либо просто нажмите? в Mutt), а также, чтобы узнать, какие клавиши нужно нажать, чтобы их вызвать (либо, к какой клавише вы бы хотели их привязать). Некоторые важные клавиши это m (от message) для написания нового сообщения, q для выхода, r для ответа на сообщение, s для сохранения и p для печати.

.mailcap

Одна из возможностей, которые есть в Mutt, но которой все еще нет в сегодняшних самых продвинутых клиентов электронной почты - это возможность отображать вложения прямо в самой программе, с помощью какого-либо просмотрщика. Директива auto_view в файле .muttrc говорит Mutt, какие вложения (согласно их типу MIME) нужно таким образом отображать. Чтобы определить, как это сделать, Mutt использует файлы mailcap, где находит, как отображать конкретные типы MIME. Обычно общесистемного файла mailcap здесь недостаточно, так что вы можете создать свой файл ~/.mailcap , и поместить туда что-либо для copiousoutput , чтобы Mutt мог отображать их в самой программе.

В примере выше для файла .muttrc , auto_view включен для файлов application/msword и application/pdf . Эти два вида файлов показывают большую полезность данной возможности, так как это означает, что заметки, присланные вам в виде файлов doc теперь полностью читаемы без необходимости сохранять вложение, и открывать его в LibreOffice. Вместо этого, текст показывается в прямо в программе чтения сообщений, если, конечно, у вас есть соответствующая запись в вашем файле ~/.mailcap .

Файл ~/.mailcap Пример файла.mailcap

Application/msword; antiword "%s"; copiousoutput; description=Word Document; nametemplate=%s.doc application/pdf; pdftotext "%s" -; copiousoutput; description=PDF Document; nametemplate=%s.pdf

Вышеприведенный пример файла .mailcap говорит Mutt, что нужно делать, чтобы "просматривать" ("view") файлы msword и pdf . Для первого он должен запустить программу antiword (emerge app-text/antiword), для последнего - программу pdftotext (emerge app-text/poppler). Вы можете добавить туда программу для просмотра HTML в текстовом виде (попробуйте app-text/vilistextum), отображать vcard, либо показывать ASCII-отображения изображений во вложениях. Все, что вам нужно это определить, как вызывать программу в вашем файле .mailcap , и сказать Mutt, чтобы он попробовал отобразить результат в самой программе, с помощью директивы auto_view .

Заключение

Mutt это очень настраиваемый консольный клиент электронной почты. Если вам понравилась концепция, то Mutt можно изменять любым способом через его конфигурационный файл. Поищите в Интернете, чтобы найти, как другие люди сделали "это", либо найдите один из многих существующих патчей, чтобы Mutt стал делать еще больше. Gentoo применяет несколько очень популярных патчей для Mutt, так что проверьте mutt -v , если вы хотите чего-то еще (вполне возможно, оно уже есть). Хотя выучить Mutt это не обязательно легко, но как только вы это сделаете, он может сделать ваше общение с почтой гораздо быстрее и эффективнее, чем остальные клиенты. Поиск примеров это очень мощная вещь, если вы знаете, как использовать правильные флаги, и знаете, как регулярные выражения помогут вам ограничить круг поиска. Наслаждайтесь программой Mutt! This page is based on a document formerly found on our main website gentoo.org .
The following people contributed to the original document: Fabian Groffen (grobian)
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article"s associated history page.

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: