Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Почтовики Утилиты для работы с почтовым сервером Exim.Часть1

Утилиты для работы с почтовым сервером Exim.Часть1

В свое время на этом сайте была опубликована серия статей по настройке почтового
сервера Exim. Честно скажу, этот сервер работает достаточно хорошо, что я туда
захожу только обновить версию Clamd. В связи с чем, стал забывать, как работать с
утилитами Exim.

Немного о файлах.

Идентификаторы сообщений в очередях Exim, представляют из себя буквенно-цифровые
последовательности в верхнем и нижнем регистрах: XXXXXX-YYYYYY-ZZ и используются
большинством команд администрирования очереди и логгирования в Exim.
Для каждого сообщения создаются три файла в spool директории (/var/spool ). 
с этими файлами работать вручную не рекомендуется.

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

Итак, работаем с Exim.

Вывести количество сообщений в очереди:
localhost# exim -bpc

Печать списка сообщений в очереди . Выводятся: время, постановки в очередь, размер,ID
сообщения,отправитель,получатель:
localhost# exim -bp

Печать суммарной информации . Выводимые колонки: количество, объем, старейшее, последнее, домен.
localhost# exim -bp | exiqsumm

Смотрим, что делает Exim:
localhost# exiwhat

Тестируем маршрут доставки до указанного адреса:
localhost# exim -bt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

<-- Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

router = localuser, transport = local_delivery
localhost# exim -bt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.  
Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

router = localuser, transport = local_delivery
localhost# exim -bt Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

router = lookuphost, transport = remote_smtp
host mail.remotehost.com [1.2.3.4] MX=0

Можно эмитировать SMTP транзакцию из командной строки,как если-бы сообщение пришло с
указанного IP адреса. При этом будет показано прохождение и срабатывание проверок,фильтров
и листов доступа (ACL). На самом деле, никакое сообщение никуда доставлено не будет.
localhost# exim -bh 192.168.11.22

Просмотр конфигурационных настроек Exim:
localhost# exim -bP

Работаем с утилитой  exiqgrep

Стандартная поставка Exim включает в себя утилиту для поиска по очередям — exiqgrep.
Различные ключи команды exiqgrep, позволяют достаточно тонко настроить критерии поиска.

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

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

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

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

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

Для поиска только среди заблокированных(замороженных) сообщений, используйте ключ
- z, или -x для поиска только среди не заблокированных.

Вывести только ID сообщения , в одном из вышеупомянутых вариантов поиска
localhost# exiqgrep -i [ -r | -f ] ...

Печатать счетчик сообщений при одном из вышеприведенных вариантов поиска:
localhost# exiqgrep -c ...

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

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

Запуск очереди:
localhost# exim -q -v

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

Удалить сообщение из очереди:
localhost# exim -Mrm  [  ... ]

Очистить все заблокированные сообщения из очереди:
localhost# exipick -zi | xargs exim -Mrm

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

Заблокировать (заморозить) сообщение:
localhost# exim -Mf  [  ... ]

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

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

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

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

Удалить все заблокированные сообщения:
localhost# exiqgrep -z -i | xargs exim -Mrm

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

Заблокировать все письма от указанного отправителя:
localhost# exiqgrep -i -f Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. | xargs exim -Mf

Просмотреть заголовки сообщений:
localhost# exim -Mvh

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

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

Добавить получателя в сообщение:
localhost# exim -Mar   [  ... ]

Редактировать отправителя сообщения:
localhost# exim -Mes

Домашняя Почтовики Утилиты для работы с почтовым сервером Exim.Часть1