Удаление почтового сообщения по ID
/usr/sbin/exim -v -Mrm ID
/usr/sbin/exim -v -Mrm ID
Список сообщений в очереди
/usr/sbin/exim -bp
/usr/sbin/exim -bp
Число сообщений в очереди
/usr/sbin/exim -bpc
/usr/sbin/exim -bpc
Удаление "замороженных" сообщений
/usr/sbin/exim -bp | awk '$6~"frozen" { print $3 }' | xargs exim -Mrm
/usr/sbin/exim -bp | awk '$6~"frozen" { print $3 }' | xargs exim -Mrm
Принудительная рассылка всей почты в очереди (flush)
/usr/sbin/exim -qff -v -C /etc/exim.conf &
/usr/sbin/exim -qff -v -C /etc/exim.conf &
"Заморозить" почту по email
/usr/sbin/exiqgrep -i -f email | xargs exim -Mf
/usr/sbin/exiqgrep -i -f email | xargs exim -Mf
Удалить почту по email
/usr/sbin/exiqgrep -i -f email | xargs exim -Mrm
/usr/sbin/exiqgrep -i -f email | xargs exim -Mrm
Вместо того чтобы удалять содержимое директории /var/spool/exim
можно выполнить следующую команду:
можно выполнить следующую команду:
exim -bp | sed '/^$/d'|grep -v @|awk -F" " {'print "exim -Mrm " $3'}или немного короче:
exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | shexim -bp[/size] выдает список сообщений, находящихся в очереди.
Если это не работает, нужно установить в конфигурационном файле значение queue_list_requires_admin в true
Если это не работает, нужно установить в конфигурационном файле значение queue_list_requires_admin в true
при помощи несложного "фильтра" awk '/^ *[0-9]+[mhd][/size] мы выводим все строки с уникальными идентификаторами сообщений
при помощи {print "exim -Mrm " $3}'[/size] из получившего списка мы выбирает ТОЛЬКО идентификаторы сообщений и добаляем пер ними вызов на удаление, так как все это должно происходить не "в космосе", то заканчиваем нашу строку вызовом установленного в вашей системе shell sh[/size]
точно такую же процедуру можно выполнить при помощи еще более короткой и изящной конструкции:
при помощи {print "exim -Mrm " $3}'[/size] из получившего списка мы выбирает ТОЛЬКО идентификаторы сообщений и добаляем пер ними вызов на удаление, так как все это должно происходить не "в космосе", то заканчиваем нашу строку вызовом установленного в вашей системе shell sh[/size]
точно такую же процедуру можно выполнить при помощи еще более короткой и изящной конструкции:
exiqgrep -z -i | xargs exim -Mrmпрограмма exiqgrep[/size] так и называется - "Search in the exim queue"
Чтобы удалить только сообщения, которые застряли в очереди и старше, скажем 10 дней:
exiqgrep -o 864000 -i | xargs exim -Mrm
Комментариев нет:
Отправить комментарий