{{tag>mail exim4 smtp}}

====== Поиск очереди с помощью утилиты exiqgrep ======


Стандартная поставка сервера Exim включает в себя утилиту для поиска по очередям — exiqgrep, это самый оптимальный путь для решения данной задачи.
Если вы используете конвейер команд, например из exim -bp в awk, grep, cut и т.д., вы просто усложняете себе жизнь.
Различные ключи команды exiqgrep, позволяют достаточно тонко настроить критерии поиска.

Ключ -f используется для поиска сообщений конкретного отправителя

  root@localhost# exiqgrep -f [luser]@domain
Ключ -r используется для поиска сообщений для определенного адресата

  root@localhost# exiqgrep -r [luser]@domain
Ключ -o указывает искать сообщения, старее, указанного количества секунд. В примере, сообщения старее 1 дня:

  root@localhost# exiqgrep -o 86400 [...]
Ключ -y ищет сообщения свежее указанного количества секунд. В примере, найти сообщения, пришедшие в течении последнего часа:

  root@localhost# exiqgrep -y 3600 [...]
Ключ -s позволяет искать по размеру сообщения, совпадающего с заданным регулярным выражением:

  root@localhost# exiqgrep -s '^7..$' [...]
Для поиска только среди заблокированных( замороженных ) сообщений, используйте ключ -z, или -x для поиска только среди не заблокированных.
Еще несколько ключей отвечающих за вывод результатов поиска

Вывести только ID сообщения, в одном из вышеупомянутых вариантов поиска

  root@localhost# exiqgrep -i [ -r | -f ] ...
Печатать счетчик сообщений при одном из вышеприведенных вариантов поиска:

  root@localhost# exiqgrep -c ...
Вывести только идентификатор всей очереди:

  root@localhost# exiqgrep -i
Управление очередями сообщений

Основной бинарник Exim ( /usr/sbin/exim ), используется с различными ключами для управления сообщениями в очереди. Многие ключи, подразумевают указание одного или более ID сообщения в командной строке, как раз тут вам и пригодится команда exiqgrep -i, которая была упомянута выше.

===== Запуск очереди: =====


  root@localhost# exim -q -v
Запуск очереди только для локальных доставок:

  root@localhost# exim -ql -v
Удалить сообщение из очереди:

  root@localhost# exim -Mrm  [  ... ]
Очистит все заблокированные сообщения из очереди:

  root@localhost# exipick -zi | xargs exim -Mrm
Очистит все сообщения из очереди:

  root@localhost# exipick -i | xargs exim -Mrm 
Заблокировать( заморозить ) сообщение:

  root@localhost# exim -Mf  [  ... ]
Разблокировать сообщение:

  root@localhost# exim -Mt  [  ... ]
Доставить сообщение, вне зависимости от состояния блокировки или времени повторной доставки:

  root@localhost# exim -M  [  ... ]
Доставить сообщение, только если достигнуто время для повторной доставки:

  root@localhost# exim -Mc  [  ... ]
Принудительно остановить сообщение с формулировкой "отменено администратором":

  root@localhost# exim -Mg  [  ... ]
Удалить все заблокированные сообщения:

  root@localhost# exiqgrep -z -i | xargs exim -Mrm
Удалить все сообщения, старше 5 дней (86400 * 5 = 432000 секунд):

  root@localhost# exiqgrep -o 432000 -i | xargs exim -Mrm
Заблокировать все письма от указанного отправителя:

  root@localhost# exiqgrep -i -f luser@example.tld | xargs exim -Mf
Просмотреть заголовки сообщений:

  root@localhost# exim -Mvh 
Просмотреть тело сообщений:

  root@localhost# exim -Mvb 
Просмотр логов сообщения:

  root@localhost# exim -Mvl 
Добавить получателя в сообщение:

  root@localhost# exim -Mar   [  ... ]
Редактировать отправителя сообщения:

  root@localhost# exim -Mes 