Примеры команд для работы с почтовым сервером exim

При установленому exim есть возможность работать с письмами через командную строку. Разберём несколько команд, которые понадобятся при работе:

Вывести сообщения в очереди:

exim -bpr

Аналогичная команда:

mailq

Просмотр количества сообщений, которые находятся в очереди:

exim -bpc

Принудительно запустить отправку сообщений из очереди:

exim -q -v

Если нужно очистить очередь, выполняем команду:

exipick -i | xargs exim -Mrm

Если нужно удалить письма, которые помечены как «frozen», выполняем следующую команду:

exipick -zi | xargs exim -Mrm

Посмотреть количество писем, которые помечены как «frozen»:

exim -bpr | grep frozen | wc –l

Если нужно удалить все сообщения конкретного отправителя, выполняем:

exiqgrep -i -f user@host.tld | xargs exim -Mrm

Где, — почтовый аккаунт нужного отправителя.

Так же, можем выполнять действия с сообщениями.
Вывести тело сообщения:

exim -Mvb ID_MESSAGE

Вывести заголовки конкретного сообщения:

exim -Mvb ID_MESSAGE

Удалить конкретное сообщение:

exim -Mrm ID_MESSAGE

Просмотреть активных отправителей:

exim -bp | awk '{print $4}' | sort | uniq -c | sort -rn

Логи exim хранятся по пути /var/log/exim/mail.log или /usr/log/exim_mainlog
Таким образом, можно посмотреть причины медленной доставки писем или создание очереди или от куда отправляются письма.
Посмотреть, спамят ли с директории /home/admin/public_html:

tail -f /var/log/exim_mainlog | grep /home/admin/public_html

Найти сообщения, которые отправлены с конкретного IP адреса:

exigrep '<= .* \[123.123.123.123\] ' /var/log/exim_mainlog

Где, 123.123.123.123 — нужный IP адрес.

Найти причину отклонения отправки сообщения для конкретного почтового ящика:

grep user@host.tld /var/log/exim_mainlog

Goodhoster.NET
Добавить комментарий