<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.webko.net.ua/index.php?action=history&amp;feed=atom&amp;title=EXIM_CLI</id>
	<title>EXIM CLI - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.webko.net.ua/index.php?action=history&amp;feed=atom&amp;title=EXIM_CLI"/>
	<link rel="alternate" type="text/html" href="https://wiki.webko.net.ua/index.php?title=EXIM_CLI&amp;action=history"/>
	<updated>2026-05-21T15:14:57Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.webko.net.ua/index.php?title=EXIM_CLI&amp;diff=22&amp;oldid=prev</id>
		<title>Sol: Новая страница: «left '''Exim''' — это так называемый ''MTA'' ( Mail Transfer Agent ), агент передачи сообщений,…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.webko.net.ua/index.php?title=EXIM_CLI&amp;diff=22&amp;oldid=prev"/>
		<updated>2015-04-17T08:36:01Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «&lt;a href=&quot;/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Exim-Logo.png&quot; title=&quot;Файл:Exim-Logo.png&quot;&gt;left&lt;/a&gt; &amp;#039;&amp;#039;&amp;#039;Exim&amp;#039;&amp;#039;&amp;#039; — это так называемый &amp;#039;&amp;#039;MTA&amp;#039;&amp;#039; ( Mail Transfer Agent ), агент передачи сообщений,…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Файл:Exim-Logo.png|left]]&lt;br /&gt;
'''Exim''' — это так называемый ''MTA'' ( Mail Transfer Agent ), агент передачи сообщений, в просторечии - почтовик или почтовый сервер, использующийся в операционных системах Unix. Распространяется по свободной лицензии GPL, то есть доступен для распространения, использования и модификации.&lt;br /&gt;
Exim, весьма распространен и в некоторых операционных системах является почтовым сервером по умолчанию.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ID сообщений и spool файлы ==&lt;br /&gt;
&lt;br /&gt;
Идентификаторы сообщений в очередях Exim, представляют из себя буквенно-цифровые последовательности в верхнем и нижнем регистрах: XXXXXX-YYYYYY-ZZ и используются большинством команд администрирования очереди и логгирования в Exim.&lt;br /&gt;
&lt;br /&gt;
Для каждого сообщения создаются три файла в spool директории ( зачастую это: /var/spool ). Если вы работает с данными файлами вручную, без использования описанных ниже команд и утилит, убедитесь что обработали все три файла, например, не оставив в очереди exim только один из них, удалив остальные.&lt;br /&gt;
&lt;br /&gt;
Каталог ''/var/spool/exim/msglog'' содержит файлы со служебной информацией для каждого сообщения и именуются в соответствии с ID этого сообщения.&lt;br /&gt;
&lt;br /&gt;
Каталог ''/var/spool/exim/input'' содержат файлы заголовков и данных, к ID сообщения в имени, добавлены суффиксы -H и -D, соответственно.&lt;br /&gt;
Кроме того в этих директориях могут появляться хэшированные подкаталоги для работы с большими почтовыми очередями.&lt;br /&gt;
&lt;br /&gt;
== Получение базовой информации по Exim ==&lt;br /&gt;
&lt;br /&gt;
Вывести количество сообщений в очереди:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -bpc&lt;br /&gt;
&lt;br /&gt;
Печать списка сообщений в очереди. Выводятся, время постановки в очередь, размер, ID сообщения, отправитель, получатель:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -bp&lt;br /&gt;
&lt;br /&gt;
Печать суммарной информации. Выводимые колонки: количество, объем, старейшее, последнее, домен.&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -bp | exiqsumm&lt;br /&gt;
&lt;br /&gt;
Чем в данный момент занимается Exim:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiwhat&lt;br /&gt;
&lt;br /&gt;
Тестирование маршрута доставки до указанного адреса:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -bt alias@localdomain.com&lt;br /&gt;
 user@thishost.com&lt;br /&gt;
     &amp;lt;-- alias@localdomain.com&lt;br /&gt;
   router = localuser, transport = local_delivery&lt;br /&gt;
 root@localhost# exim -bt user@thishost.com&lt;br /&gt;
 user@thishost.com&lt;br /&gt;
   router = localuser, transport = local_delivery&lt;br /&gt;
 root@localhost# exim -bt user@remotehost.com&lt;br /&gt;
   router = lookuphost, transport = remote_smtp&lt;br /&gt;
   host mail.remotehost.com [1.2.3.4] MX=0&lt;br /&gt;
&lt;br /&gt;
Эмитировать SMTP транзакцию из командной строки, как если-бы сообщение пришло с указанного IP адреса. При этом будет показано прохождение и срабатывание проверок, фильтров и листов доступа (ACL). На самом деле, никакое сообщение никуда доставлено не будет.&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -bh 192.168.11.22&lt;br /&gt;
&lt;br /&gt;
Листинг всех настроек конфигурации exim:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -bP&lt;br /&gt;
&lt;br /&gt;
== Поиск очереди с помощью утилиты exiqgrep ==&lt;br /&gt;
&lt;br /&gt;
Стандартная поставка сервера Exim включает в себя утилиту для поиска по очередям — exiqgrep, это самый оптимальный путь для решения данной задачи.&lt;br /&gt;
Если вы используете конвейер команд, например из exim -bp в awk, grep, cut и т.д., вы просто усложняете себе жизнь.&lt;br /&gt;
Различные ключи команды exiqgrep, позволяют достаточно тонко настроить критерии поиска.&lt;br /&gt;
&lt;br /&gt;
Ключ -f используется для поиска сообщений конкретного отправителя&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -f [luser]@domain&lt;br /&gt;
&lt;br /&gt;
Ключ -r используется для поиска сообщений для определенного адресата&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -r [luser]@domain&lt;br /&gt;
&lt;br /&gt;
Ключ -o указывает искать сообщения, старее, указанного количества секунд. В примере, сообщения старее 1 дня:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -o 86400 [...]&lt;br /&gt;
&lt;br /&gt;
Ключ -y ищет сообщения свежее указанного количества секунд. В примере, найти сообщения, пришедшие в течении последнего часа:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -y 3600 [...]&lt;br /&gt;
&lt;br /&gt;
Ключ -s позволяет искать по размеру сообщения, совпадающего с заданным регулярным выражением:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -s '^7..$' [...]&lt;br /&gt;
&lt;br /&gt;
Для поиска только среди заблокированных( замороженных ) сообщений, используйте ключ -z, или -x для поиска только среди не заблокированных.&lt;br /&gt;
Еще несколько ключей отвечающих за вывод результатов поиска&lt;br /&gt;
&lt;br /&gt;
Вывести только ID сообщения, в одном из вышеупомянутых вариантов поиска&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -i [ -r | -f ] ...&lt;br /&gt;
&lt;br /&gt;
Печатать счетчик сообщений при одном из вышеприведенных вариантов поиска:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -c ...&lt;br /&gt;
&lt;br /&gt;
Вывести только идентификатор всей очереди:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -i&lt;br /&gt;
&lt;br /&gt;
== Управление очередями сообщений ==&lt;br /&gt;
&lt;br /&gt;
Основной бинарник Exim ( /usr/sbin/exim ), используется с различными ключами для управления сообщениями в очереди. Многие ключи, подразумевают указание одного или более ID сообщения в командной строке, как раз тут вам и пригодится команда exiqgrep -i, которая была упомянута выше.&lt;br /&gt;
&lt;br /&gt;
Запуск очереди:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -q -v&lt;br /&gt;
&lt;br /&gt;
Запуск очереди только для локальных доставок:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -ql -v&lt;br /&gt;
&lt;br /&gt;
Удалить сообщение из очереди:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mrm  [  ... ]&lt;br /&gt;
&lt;br /&gt;
Очистит все заблокированные сообщения из очереди:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exipick -zi | xargs exim -Mrm&lt;br /&gt;
&lt;br /&gt;
Очистит все сообщения из очереди:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exipick -i | xargs exim -Mrm &lt;br /&gt;
&lt;br /&gt;
Заблокировать( заморозить ) сообщение:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mf  [  ... ]&lt;br /&gt;
&lt;br /&gt;
Разблокировать сообщение:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mt  [  ... ]&lt;br /&gt;
&lt;br /&gt;
Доставить сообщение, вне зависимости от состояния блокировки или времени повторной доставки:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -M  [  ... ]&lt;br /&gt;
&lt;br /&gt;
Доставить сообщение, только если достигнуто время для повторной доставки:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mc  [  ... ]&lt;br /&gt;
&lt;br /&gt;
Принудительно остановить сообщение с формулировкой &amp;quot;отменено администратором&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mg  [  ... ]&lt;br /&gt;
&lt;br /&gt;
Удалить все заблокированные сообщения:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -z -i | xargs exim -Mrm&lt;br /&gt;
&lt;br /&gt;
Удалить все сообщения, старше 5 дней (86400 * 5 = 432000 секунд):&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -o 432000 -i | xargs exim -Mrm&lt;br /&gt;
&lt;br /&gt;
Заблокировать все письма от указанного отправителя:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -i -f luser@example.tld | xargs exim -Mf&lt;br /&gt;
&lt;br /&gt;
Просмотреть заголовки сообщений:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mvh &lt;br /&gt;
&lt;br /&gt;
Просмотреть тело сообщений:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mvb &lt;br /&gt;
&lt;br /&gt;
Просмотр логов сообщения:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mvl &lt;br /&gt;
&lt;br /&gt;
Добавить получателя в сообщение:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mar   [  ... ]&lt;br /&gt;
&lt;br /&gt;
Редактировать отправителя сообщения:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exim -Mes  &lt;br /&gt;
&lt;br /&gt;
== Поиск в журнальных файлах с помощью exigrep ==&lt;br /&gt;
&lt;br /&gt;
Утилита exigrep ( не путайте с exiqgrep, использующейся для поиска в очереди ), используется для поиска по лог файлам. Например exigrep может вывести все записи из лог файла с совпадающим ID сообщения, что довольно удобно, учитывая что каждое сообщение занимает 3 строки в лог файле.&lt;br /&gt;
&lt;br /&gt;
Поиск сообщений отправленных с определенного IP адреса:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exigrep '&amp;lt;= .* \[12.34.56.78\] ' /path/to/exim_log&lt;br /&gt;
&lt;br /&gt;
Поиск сообщений отправленных на определенный IP адрес:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exigrep '=&amp;gt; .* \[12.34.56.78\]' /path/to/exim_log&lt;br /&gt;
&lt;br /&gt;
Данный пример ищет сообщения содержащие символы &amp;quot;=&amp;gt;&amp;quot;, и отправленные на адрес &amp;quot;user@domain.tld&amp;quot;, далее по конвейеру, результат передается команде grep, которая из полученного результата выбирает строки, содержащие &amp;quot;&amp;lt;=&amp;quot; с информацией об отправителе, почтовом адресе, IP адресе, размере сообщения, ID сообщения и заголовок subject, если логгирование этой строки включено.&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exigrep '=&amp;gt; .*user@domain.tld' /path/to/exim_log | fgrep '&amp;lt;='&lt;br /&gt;
&lt;br /&gt;
Генерировать из лог файла и показать статистику Exim:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# eximstats /path/to/exim_mainlog&lt;br /&gt;
&lt;br /&gt;
То-же что и выше но с более подробными данными:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# eximstats -ne -nr -nt /path/to/exim_mainlog&lt;br /&gt;
&lt;br /&gt;
Аналогично но за определенный день:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# fgrep YYYY-MM-DD /path/to/exim_mainlog | eximstats&lt;br /&gt;
&lt;br /&gt;
В качестве дополнения&lt;br /&gt;
&lt;br /&gt;
Удалить все сообщения в очереди, содержащие в теле, определенную строку:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# grep -lr 'a certain string' /var/spool/exim/input/ | \&lt;br /&gt;
                 sed -e 's/^.*\/\([a-zA-Z0-9-]*\)-[DH]$/\1/g' | xargs exim -Mrm&lt;br /&gt;
&lt;br /&gt;
Командой выше, мы проверяем содержимое каталога /var/spool/exim/input/, в поисках файлов очереди, содержащих определенную строку в теле сообщения, поскольку команда exiqgrep не умеет просматривать тело сообщений. Если вы решите удалить найденные файлы напрямую, ЭТО БУДЕТ НЕ ПРАВИЛЬНО, используйте предназначенные для этого команды exim.&lt;br /&gt;
Если вывод используемой команды слишком длинный, например ID сообщений при exiqgrep -i, которые нужно передать дальше по конвейеру команде exim, может быть превышено количество аргументов командной строки вашей системной оболочки. В этом случае передавайте результат поиска через конвейер, команде xargs, которая будет обрабатывать результаты ограниченными порциями.&lt;br /&gt;
Например удалим тысячи сообщений, отправленных с адреса joe@example.com:&lt;br /&gt;
&lt;br /&gt;
 root@localhost# exiqgrep -i -f '' | xargs exim -Mrm  &lt;br /&gt;
&lt;br /&gt;
После того как вы внесли изменения в файл конфигурации, необходимо перезапустить exim, или послать рабочему процессу сигнал SIGHUP, что-бы он перечитал конфигурационный файл и изменения вступили в силу. Предпочтительней естественно отправить сигнал, нежели перезапускать приложение.&lt;br /&gt;
&lt;br /&gt;
 root@localhost# kill -HUP `cat /var/spool/exim/exim-daemon.pid`&lt;br /&gt;
[[Category:Mail]]&lt;/div&gt;</summary>
		<author><name>Sol</name></author>
	</entry>
</feed>