<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=Mutt</id>
	<title>Mutt - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=Mutt"/>
	<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=Mutt&amp;action=history"/>
	<updated>2026-10-12T23:41:52Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=Mutt&amp;diff=147&amp;oldid=prev</id>
		<title>Admin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=Mutt&amp;diff=147&amp;oldid=prev"/>
		<updated>2023-02-27T18:39:15Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 21:39, 27 февраля 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=Mutt&amp;diff=146&amp;oldid=prev</id>
		<title>lor&gt;Cetjs2: Откат правок 31.173.240.36 (обсуждение) к версии Awesomelackware</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=Mutt&amp;diff=146&amp;oldid=prev"/>
		<updated>2018-05-09T14:41:43Z</updated>

		<summary type="html">&lt;p&gt;Откат правок &lt;a href=&quot;/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/31.173.240.36&quot; title=&quot;Служебная:Вклад/31.173.240.36&quot;&gt;31.173.240.36&lt;/a&gt; (&lt;a href=&quot;/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:31.173.240.36&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Обсуждение участника:31.173.240.36 (страница не существует)&quot;&gt;обсуждение&lt;/a&gt;) к версии &lt;a href=&quot;/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Awesomelackware&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Участник:Awesomelackware (страница не существует)&quot;&gt;Awesomelackware&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Mutt — консольный почтовый клиент, гибко настраиваем и прост в управлении (из коробки имеет панель с хоткеями и подсказками для управления Mutt'ом, которых «хватит всем»). Практически каждый элемент настраивается как угодно, поэтому если вы не брезгуете консолью — это и вовсе лучший из существующих почтовых клиентов.&lt;br /&gt;
&lt;br /&gt;
Если вы впервые сталкиваетесь с почтой — это хорошо, но плохо, если вы ранее работали с почтой, привыкли к чему-то («синдром утенка») и уже избалованы современными интерфейсами.&amp;lt;br&amp;gt;&lt;br /&gt;
Забудьте все, что вы знали о почте раньше.&amp;lt;br&amp;gt;&lt;br /&gt;
К примеру: в современных клиентах при добавлении аккаунта — каждый аккаунт имеет свою директорию «Входящие» и т. п., Mutt на это не рассчитан, и это не является его архитектурным недостатком, просто поймите, что разделять почту между своими аккаунтами не нужно, ведь аккаунты и так принадлежат вам, поэтому хранить ту же «Входящую» почту со всех аккаунтов следует в &amp;lt;u&amp;gt;одной&amp;lt;/u&amp;gt; директории.&lt;br /&gt;
&lt;br /&gt;
В данной статье раскрыто множество советов и трюков, ответов на частозадаваемые вопросы и остальное. Статью такого уровня вы более нигде не встретите. Только если сами потратите месяц на изучение всей документации.&lt;br /&gt;
&lt;br /&gt;
= Связка mutt, msmtp, fetchmail и procmail =&lt;br /&gt;
Как клиент, Mutt может самостоятельно заходить на почтовые серверы и читать почту прямо с них или отправлять её, т. е. вполне себе standalone-клиент, но я&amp;lt;sup&amp;gt;[http://www.linux.org.ru/people/Spoofing/profile Spoofing]&amp;lt;/sup&amp;gt; считаю правильнее использовать для того более подходящие программы. И куда более лучшим будет хранить почту локально (хотя бы с целью бэкапа от факапа).&lt;br /&gt;
&lt;br /&gt;
Через mutt мы будем читать почту, при помощи msmtp отправлять письма, и через fetchmail скачивать письма — далее загруженная почта будет направлена на фильтр procmail, который уже после ее обработки сохранит почту в ящиках.&lt;br /&gt;
&lt;br /&gt;
== mutt ==&lt;br /&gt;
Конфигурационный файл Mutt находится в &amp;lt;tt&amp;gt;~/.muttrc&amp;lt;/tt&amp;gt;, либо &amp;lt;tt&amp;gt;~/.mutt/muttrc&amp;lt;/tt&amp;gt;. Почта хранится в файле  &amp;lt;tt&amp;gt;/var/spool/mail/${LOGNAME}&amp;lt;/tt&amp;gt; формата mbox (где &amp;lt;tt&amp;gt;${LOGNAME}&amp;lt;/tt&amp;gt;@example.org имя вашего пользователя.). '''Hint''': для пользователя &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; это &amp;lt;tt&amp;gt;postmaster&amp;lt;/tt&amp;gt;@example.org&lt;br /&gt;
&lt;br /&gt;
Создадим в домашней директории папку Mail, в которой будет лежать вся почта, и в ней же создадим «ящики» (файлы формата mbox).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;user@linux$ mkdir ~/Mail&lt;br /&gt;
user@linux$ cd ~/Mail&lt;br /&gt;
user@linux$ touch &amp;quot;INBOX&amp;quot;  &amp;quot;Drafts&amp;quot;  &amp;quot;Sent Mail&amp;quot;  &amp;quot;All Mail&amp;quot;  &amp;quot;Spam&amp;quot;  &amp;quot;Trash&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
По порядку: ''входящие'' (новые или непрочитанные письма), ''черновики'' (неотправленные письма), ''отправленные'', ''вся почта'' (прочитанные письма), ''спам'', ''удаленные'' (ненужные письма).&lt;br /&gt;
&lt;br /&gt;
Теперь создайте директорию &amp;lt;tt&amp;gt;~/.mutt&amp;lt;/tt&amp;gt;, в ней любым текстовым редактором откройте (создайте новый) файл &amp;lt;tt&amp;gt;muttrc&amp;lt;/tt&amp;gt;, и уже в нем мы укажем, где хранится наша почта.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  set folder = &amp;quot;${HOME}/Mail&amp;quot;&lt;br /&gt;
  set spoolfile = &amp;quot;+INBOX&amp;quot;&lt;br /&gt;
  set mbox = &amp;quot;+All Mail&amp;quot;&lt;br /&gt;
  set postponed = &amp;quot;+Drafts&amp;quot;&lt;br /&gt;
  set record = &amp;quot;+Sent Mail&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  set move&lt;br /&gt;
  set postpone&lt;br /&gt;
  set copy&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;folder&amp;lt;/tt&amp;gt; — директория, где лежат «ящики», она также может быть на удаленном сервере (imap, pop3).&lt;br /&gt;
* &amp;lt;tt&amp;gt;spoolfile&amp;lt;/tt&amp;gt; — «Входящие». Mutt запустится и откроет этот ящик по умолчанию.&lt;br /&gt;
* &amp;lt;tt&amp;gt;mbox&amp;lt;/tt&amp;gt; — когда вы прочитаете письмо, при закрытии клиента вся прочитанная почта переместится сюда (опция &amp;lt;tt&amp;gt;set move&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* &amp;lt;tt&amp;gt;postponed&amp;lt;/tt&amp;gt; — черновики, если начали писать письмо и решили отложить «на потом» (опция &amp;lt;tt&amp;gt;set postpone&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* &amp;lt;tt&amp;gt;record&amp;lt;/tt&amp;gt; — отправленная почта (опция &amp;lt;tt&amp;gt;set copy&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Мы указали корневой каталог &amp;lt;tt&amp;gt;folder&amp;lt;/tt&amp;gt;, и путь до всех ящиков теперь начинается относительно этого &amp;lt;tt&amp;gt;folder&amp;lt;/tt&amp;gt;. Знак &amp;lt;tt&amp;gt;+&amp;lt;/tt&amp;gt; (плюса) перед ящиком означает, что в начало к нему будет подставлено значение из &amp;lt;tt&amp;gt;folder&amp;lt;/tt&amp;gt;, например: $folder + $spoolfile = ${HOME}/Mail/INBOX.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее включим опции: &amp;lt;tt&amp;gt;move&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;postpone&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;copy&amp;lt;/tt&amp;gt;. И теперь прочитанные письма по закрытию клиента будут перемещены из ящика «Входящие» в ящик «Архив», при редактировании письма и отмены этого действия оно сохранится в ящике «Черновики», и при отправке письма оно сохранится в ящике «Отправленных» писем.&lt;br /&gt;
&lt;br /&gt;
Почему все так? Потому что так было задумано архитектурой почтового клиента Mutt. Что-то из данного вам может показаться непривычным: только лишь потому, что, как было сказано в начале статьи, — вы можете быть избалованы современными клиентами. :-)&lt;br /&gt;
&lt;br /&gt;
== msmtp ==&lt;br /&gt;
msmtp используется для отправки писем, настройки пишутся в '''~/.msmtprc'''.&lt;br /&gt;
&lt;br /&gt;
Настроим наш Google Mail для отправки.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;defaults&lt;br /&gt;
tls on&lt;br /&gt;
tls_starttls on&lt;br /&gt;
tls_certcheck off&lt;br /&gt;
auth on&lt;br /&gt;
&lt;br /&gt;
account google&lt;br /&gt;
from username@gmail.com&lt;br /&gt;
host smtp.gmail.com&lt;br /&gt;
port 587&lt;br /&gt;
user username@gmail.com&lt;br /&gt;
password ********&lt;br /&gt;
tls_certcheck on&lt;br /&gt;
tls_fingerprint 34:B4:3E:66:71:D8:AC:5A:47:76:7F:B7:CD:E4:31:08:F4:A5:DD:A8&lt;br /&gt;
&lt;br /&gt;
account default: google&amp;lt;/pre&amp;gt;&lt;br /&gt;
Указав имя пользователя &amp;lt;tt&amp;gt;username@gmail.com&amp;lt;/tt&amp;gt; и пароль вместо звездочек. В данном конфиге мы включили шифрование TLS и авторизацию перед отправкой письма, но отключили проверку сертификатов. Далее настроили аккаунт google (указав его аккаунтом по-умолчанию) и укажем fingerprint вручную, как альтернативу проверке подлинности сертификатов.&lt;br /&gt;
&lt;br /&gt;
Чтобы получить fingerprint сервера, достаточно выполнить команду&lt;br /&gt;
&amp;lt;pre&amp;gt;msmtp --serverinfo --host=smtp.gmail.com --tls=on --port=587 --tls-certcheck=off&amp;lt;/pre&amp;gt;&lt;br /&gt;
и впишите его (SHA1 Fingerprint) в конфигурационный файл. Теперь вы можете быть уверены в безопасности отправляемой почты, т. к. в случае чего почта попросту не будет отправлена.&lt;br /&gt;
&lt;br /&gt;
== fetchmail ==&lt;br /&gt;
fetchmail загружает почту и отправляет на обработку фильтру (к примеру procmail), настройки лежат в &amp;lt;tt&amp;gt;~/.fetchmailrc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
На примере Google Mail настроим сбор почты с вашего аккаунта, открыв ~/.fetchmailrc любым текстовым редактором.&lt;br /&gt;
&amp;lt;pre&amp;gt;defaults&lt;br /&gt;
fetchall&lt;br /&gt;
keep&lt;br /&gt;
&lt;br /&gt;
poll imap.gmail.com protocol imap&lt;br /&gt;
username &amp;quot;username@gmail.com&amp;quot; is &amp;quot;username&amp;quot; password &amp;quot;password&amp;quot;&lt;br /&gt;
ssl&lt;br /&gt;
folder &amp;quot;INBOX&amp;quot;&lt;br /&gt;
# folder &amp;quot;[Gmail]/All Mail&amp;quot;&lt;br /&gt;
folder &amp;quot;[Gmail]/Spam&amp;quot;&lt;br /&gt;
# folder &amp;quot;[Gmail]/Trash&amp;quot;&lt;br /&gt;
# folder &amp;quot;[Gmail]/Drafts&amp;quot;&lt;br /&gt;
# folder &amp;quot;[Gmail]/Sent Mail&amp;quot;&lt;br /&gt;
# folder &amp;quot;[Gmail]/Important&amp;quot;&lt;br /&gt;
# folder &amp;quot;[Gmail]/Chats&amp;quot;&lt;br /&gt;
# folder &amp;quot;[Gmail]/Starred&amp;quot;&lt;br /&gt;
mda &amp;quot;procmail -d %T&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
В директиве &amp;lt;tt&amp;gt;defaults&amp;lt;/tt&amp;gt; определяются настройки по-умолчанию ко всем аккаунтам, далее следуют директивы &amp;lt;tt&amp;gt;poll&amp;lt;/tt&amp;gt; с указанием адреса сервера и протокола, по которому загружать почту. Мы указали сбор всей почты, но оставлять оригинальную копию на сервере.&lt;br /&gt;
&lt;br /&gt;
В директиве poll вам нужно только указать свой логин &amp;lt;tt&amp;gt;username@gmail.com&amp;lt;/tt&amp;gt;, имя пользователя (любое) и пароль от аккаунта.&lt;br /&gt;
&lt;br /&gt;
Включим SSL и укажем, из каких ящиков нам следует забрать почту, — в списке указаны все ящики по умолчанию, которые создаются в Google Mail, так что вам нужно только раскомментировать необходимое, но сейчас почта будет загружена из «Входящих» и «Спама». И затем каждое письмо пройдет уже вашу фильтрацию…&lt;br /&gt;
&lt;br /&gt;
== procmail ==&lt;br /&gt;
procmail фильтрует почту и затем её сохраняет в ящики. В конфигурационном файле &amp;lt;tt&amp;gt;~/.procmailrc&amp;lt;/tt&amp;gt; укажем, чтобы просто вся входящая почта сохранялась в &amp;lt;tt&amp;gt;~/Mail/INBOX&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/usr/bin:/usr/bin&amp;quot;&lt;br /&gt;
MAILDIR=&amp;quot;${HOME}&amp;quot;&lt;br /&gt;
DEFAULT=&amp;quot;/var/spool/mail/${LOGNAME}&amp;quot;&lt;br /&gt;
VERBOSE=&amp;quot;off&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:0 c&lt;br /&gt;
Mail/INBOX&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hint''': если вы укажите &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; (слэш) в конце пути ящика, то почта будет сохранена в формате &amp;lt;tt&amp;gt;Maildir&amp;lt;/tt&amp;gt;, а если без &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;, то в обычном &amp;lt;tt&amp;gt;mbox&amp;lt;/tt&amp;gt; файле.&lt;br /&gt;
&lt;br /&gt;
В начале файла в переменных мы указали настройки по умолчанию, их можно было бы и не указывать, но для наглядности пускай будет. Далее описываются выражения для фильтрации почты, выглядит это как&lt;br /&gt;
&amp;lt;code&amp;gt;флаги&lt;br /&gt;
условие или выражение, которому должно соответствовать письмо&lt;br /&gt;
действие с ним&amp;lt;/code&amp;gt;&lt;br /&gt;
и может повторяться в файле сколько угодно раз. Для примера, я подписан на почтовую рассылку веб-сервера nginx, и чтобы письма с рассылки не засоряли мои «Входящие», то будем сохранить их в отдельный ящик.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/usr/bin:/usr/bin&amp;quot;&lt;br /&gt;
MAILDIR=&amp;quot;${HOME}&amp;quot;&lt;br /&gt;
DEFAULT=&amp;quot;/var/spool/mail/${LOGNAME}&amp;quot;&lt;br /&gt;
VERBOSE=&amp;quot;off&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:0:&lt;br /&gt;
* ^TO_.*@nginx\.&lt;br /&gt;
Mail/nginx&lt;br /&gt;
&lt;br /&gt;
:0 c&lt;br /&gt;
Mail/INBOX&amp;lt;/pre&amp;gt;&lt;br /&gt;
Теперь все письма, которые отправлены (&amp;lt;tt&amp;gt;^TO_&amp;lt;/tt&amp;gt; определяет &amp;lt;tt&amp;gt;To:&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;Cc:&amp;lt;/tt&amp;gt; заголовки) на адрес &amp;lt;tt&amp;gt;*@nginx.&amp;lt;/tt&amp;gt; будут сохранены в файл &amp;lt;tt&amp;gt;~/Mail/nginx&amp;lt;/tt&amp;gt;. Остальные письма, которые не подойдут под условия фильтрации, сохранятся в &amp;lt;tt&amp;gt;~/Mail/INBOX&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Ответы на вопросы =&lt;br /&gt;
&lt;br /&gt;
== Разница между «&amp;amp;#43;» и «&amp;amp;#61;» ==&lt;br /&gt;
Помимо «+» (плюса) перед путями ящиков а-ля &amp;lt;pre&amp;gt;spoolfile = &amp;quot;+INBOX&amp;quot;&amp;lt;/pre&amp;gt; вы еще можете иногда встретить знак «=» (равенства), и знайте, что функциональной разницы межды ними абсолютно никакой нет, а просто так было сделано для жителей Германии (из-за раскладки клавиатуры).&lt;br /&gt;
&lt;br /&gt;
== mbox или Maildir? ==&lt;br /&gt;
'''Maildir''' — это директория, в которой так же находятся еще 3 директории &amp;lt;tt&amp;gt;new&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;cur&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;tmp&amp;lt;/tt&amp;gt;, и каждое письмо сохраняется отдельным файлом.&lt;br /&gt;
&lt;br /&gt;
'''mbox''' — это файл, в котором каждое письмо начинается со слова &amp;lt;tt&amp;gt;From&amp;lt;/tt&amp;gt; (не путайте с заголовком ''From:'')&lt;br /&gt;
&lt;br /&gt;
Что лучше? В целом не важно, потому что при помощи того же клиента Mutt вы всегда можете перемещать почту между ящиками, и из ящика в ящик она автоматически конвертируется в нужный формат. Преимущество для пользователей &amp;lt;tt&amp;gt;Maildir&amp;lt;/tt&amp;gt; в том, что вы можете в своих скриптах легко вывести количество новых писем.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# считаем список всех файлов (писем) в массив&lt;br /&gt;
NEW=(&amp;quot;${HOME}/Mail/INBOX/new/&amp;quot;*)&lt;br /&gt;
&lt;br /&gt;
# запишем количество элементов в массиве&lt;br /&gt;
COUNT=${#NEW[@]}&lt;br /&gt;
&lt;br /&gt;
# вот столько у нас новых писем&lt;br /&gt;
echo $COUNT&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>lor&gt;Cetjs2</name></author>
	</entry>
</feed>