Exim - это так называемый MTA (Mail Transfer Agent), агент или демон, кому как привычнее. Используется для передачи сообщений, иногда на жаргоне его называют почтовик, а кто то вообще почтовый сервер. Используюется в операционных системах *nix. Exim распространяется по свободной лицензии GPL, а это значит, что он доступен бесплатно для использования и модификации.

Почтовый агент Exim

Exim, весьма распространен и в некоторых дистрибутивах *nix является почтовым сервером по умолчанию. Далее немного вводной информации по ID сообщений и spool файлах.

Exim использует так называемые очереди сообщений, в которых каждое сообщение - письмо имеет идинтификатор, который представляет из себя последовательность латинских букв и цифр в верхнем и нижнем регистре: ZZZZZZ-YYYYYY-XX - примерно так выглядит идентификатор сообщения. Он используются в большинстве команд, для администрирования очереди сообщений и логирования в почтовом демоне Exim.

Для каждого сообщения создаются три файла в spool директории (сама директория обычно находится тут: /var/spool). При работе с данными файлами вручную, без использования описанных ниже команд почтового демона и утилит, убедитесь что обработали все три файла. Например, не оставив в почтовой очереди exim только один из них, но удалив остальные.

Директория /var/spool/exim/msglog содержит файлы служебной информацией для каждого сообщения, а имя файла совпадает с ID этого сообщения.
Директория /var/spool/exim/input содержит файлы заголовков и данных, к ID сообщения в имени, добавлены суффиксы -H и -D, соответственно.
Кроме того в этих директориях могут появляться хэшированные поддиректории при работе с большими почтовыми очередями.

Базовая информации по Exim команды

Выводит информацию о количестве сообщений в почтовой очереди:
exim -bpc
Вывод списка сообщений в почтовой очереди. Выведет, время добавления в очередь, размер сообщения, ID сообщения, отправителя и получателя:
exim -bp
Вывод суммарной информации. Выведет колонки: количество, объем, старейшее, последнее, домен.
exim -bp | exiqsumm
Вывод информации о текущей работе Exim(что сейчас выполняет):
exiwhat
Тестирование маршрута доставки до указанного адреса
exim -bt example@yandex.ru
Имитация SMTP транзакции из командной строки, анализ поведения, если-бы сообщение пришло с указанного IP адреса. При этом exim покажет прохождение и срабатывание проверок, фильтров и листов доступа (ACL). На самом деле - это просто имитация поведения, никакое сообщение никуда не доставляется.
exim -bh 192.168.0.1
Вывод листинга всех настроек конфигурации exim
exim -bP

Работа с очередями сообщений

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

Запустить очередь:
exim -q -v
Запустить очередь только для локальных доставок:
exim -ql -v
Удалить сообщение c ID ZZZZZZ-YYYYYY-XX из очереди:
exim -Mrm ZZZZZZ-YYYYYY-XX
Очистит все заблокированные сообщения из очереди
exipick -zi | xargs exim -Mrm
Очистит все сообщения из очереди
exipick -i | xargs exim -Mrm 
Заблокировать (заморозить) сообщение c ID ZZZZZZ-YYYYYY-XX
exim -Mf ZZZZZZ-YYYYYY-XX
Разблокировать сообщение c ID ZZZZZZ-YYYYYY-XX
exim -Mt ZZZZZZ-YYYYYY-XX
Доставить сообщение c ID ZZZZZZ-YYYYYY-XX, вне зависимости от состояния блокировки или времени повторной доставки
exim -M ZZZZZZ-YYYYYY-XX
Доставить сообщение c ID ZZZZZZ-YYYYYY-XX, только если достигнуто время для повторной доставки
exim -Mc ZZZZZZ-YYYYYY-XX
Принудительно остановить сообщение c ID ZZZZZZ-YYYYYY-XX и формулировкой "отменено администратором"
exim -Mg ZZZZZZ-YYYYYY-XX
Удалить все заблокированные сообщения
exiqgrep -z -i | xargs exim -Mrm
Удалить все сообщения, старше 5 дней (86400 * 5 = 432000 секунд)
exiqgrep -o 432000 -i | xargs exim -Mrm
Заблокировать все письма от указанного отправителя
exiqgrep -i -f luser@example.tld | xargs exim -Mf
Просмотреть заголовки сообщений
exim -Mvh
Просмотреть тело сообщений
exim -Mvb
Просмотр логов сообщения
exim -Mvl
Добавить получателя в сообщение c ID ZZZZZZ-YYYYYY-XX
exim -Mar ZZZZZZ-YYYYYY-XX
Редактировать отправителя сообщения
exim -Mes

Дата: 10.06.2016 15:20:08
Автор: Пчелов Юрий