Как очистить очередь exim
Иногда бывает нужно удалить все приостановленные сообщения в очереди exim. Для этого достаточно выполнить команду:
exim -bpu | grep frozen | awk {'print $3'} | xargs exim -Mrm
или специальную exiqgrep :
exiqgrep -z -i | xargs exim -Mrm
Для удаления конкретного сообщения из очереди, нужно определить его номер:
exim -bp
И удалить его, используя полученный идентификатор:
exim -Mrm <message-id>
Ограничение хостов для релея почты
Если вы хотите, чтобы exim пересылал почту на некоторые ip адреса, просто внесите эти адреса в файл /etc/alwaysrelay, по одному на строку:
89.175.124.4 120.73.173.40 93.185.26.204
и перезапустите exim.
Просмотр очереди почты exim как mailq
Для отображения очереди почты в exim, выполните команду:
exim -bp
Для получения количества сообщений в очереди:
exim -bpc
Просмотр сообщения из очереди exim
Показать заголовок сообщения из очереди exim:
exim -Mvh <message-id>
Показать тело сообщения из очереди exim:
exim -Mvb <message-id>
Удаление нужного сообщения из очереди exim
В состав пакета exim входит замечательная утилита exiqgrep. Пример поиска всех сообщений для получателя user@nix-tips.ru:
exiqgrep -r user@nix-tips.ru
Для поиска сообщений по отправителю, достаточно заменить параметр -r на -f. Так же, можно сразу же удалить найденные сообщения:
exiqgrep -f user@nix-tips.ru | awk {'print $3'} | xargs -Mrm