Удалить/Очистить/Сбросить очередь в postfix
Иногда, приходиться удалять письма из очереди, и если не знаете как это сделать ( или может забыли), то данная тема поможет с этим разобраться.
Для начала, проверим что иметься в очереди:
У меня например, образовалось вот такая очередь:
Или, имеется другая утилита:
Чтобы сохранить результат в текстовый файл, можно запустить:
Просмотр сообщения (Содержимое, заголовок и тело)
Предположим, что сообщение имеет идентификатор XXXXXXX (я выше показывал как )
Или, сохраняем в файл:
Удалить/Очистить/Сбросить очередь в postfix
Если есть необходимость удалить конкретное письмо ( нужно знать его ID), выполните команду:
Чтобы очистить очередь в Postfix MTA просто введите следующую команду:
Чтобы удалить всю почту из очереди, введите:
Чтобы удалить все письма в отложенной очереди (deferred), введите:
Чтобы удалить все письма из почтовой очереди, которые пришли с test_user@linux-notes.org или отправлены на адрес test_user@linux-notes.org (команда одинакова независимо от того, является ли это адресом отправителя или получателя), вы можете использовать следующую команду:
Ничего сложного в этом нет.
Нашел в интернете, готовый скрипт, который удаляет всю почту из mailq, которая соответствует регулярному выражению (указанному в качестве первого аргумента).
И прописываем в него:
Например, удалите все поставленные в очередь сообщения (исходящие и входящие) для http://linux-notes.org:
Удалите все сообщения в очереди, содержащие слово «world»:
У меня, по данной статье «Удалить/Очистить/Сбросить очередь в postfix» все.
Как очистить очередь RabbitMQ?
Как можно очистить очередь через админку? Можно ли очистить очередь RabbitMQ через консоль?
3 ответа
Очередь rabbitmq можно очистить через админку.
По умолчанию адмнка rabbitMQ ставится на порту 15672. Подбробнее об установке админки rabbitMQ.
1. Авторизоваться в админке

2. Перейти на вкладку Queues и выбрать очередь, которую нужно очистить (удалить).
Очередь выбирается кликом. Если очередей в списке много, воспользуйтесь полем Filter для фильтрации по имени.

3. В настройках очереди выберите меню Delete / purge (1). Затем нажмите на кнопку Delete (2).
Всплывёт окно подверждения. Для очистки очереди отвечаем утвердительно.

PHP-код для очистки очереди rabbitMQ.
В цикле, пока очередь не пуста, получаем из очереди сообщения. Для получения очередного сообщения имеется метод consume() . Помечаем сообщения (задачи, таски) как выполненные с помощью метода ack() .
php код примерно такой:
При необходимости делаем проверки имени задачи, параметров и т.д.
Удалить все сообщения из определенной очереди rabbitMQ можно с помощью консоли cli.
Посмотреть все доступные очереди в списке очередей, точное имя как в rabbitMQ:
sudo rabbitmqctl list_queues name messages
В выводе будут имена тасков и их количество в очереди, например:
Теперь одной из двух команд ( purge или delete ) к утилите rabbitmqadmin мы можем очистить очередь.
- rabbitmqadmin purge queue name=Имя_Очереди_Для_Очистки
- rabbitmqadmin delete queue name=Имя_Очереди_Для_Очистки
Альтернативой для очистки очереди является "reset". Делать reset не рекомендуется, т.к. при этом сбрасываются абсолютно все настройки на дефолтные, включая созданных пользователей и правки в конфигах:
Если в rabbitMQ много задач с похожими именами, то можно написать bash-команду, чтобы удалить их:
Как очистить очередь Exim?
Exim — это агент для передачи сообщений или почтовый сервер, который используется в OC Linux.

Команды для очистки очереди Exim:
Для показа писем в очереди используется команда, выводятся время постановки в очередь, размер, ID сообщения, отправитель, получатель:
exim -bp
Очистить все сообщения из очереди:
exipick -i | xargs exim -Mrm
Выполнить очистку всех замороженных сообщений из очереди:
exipick -zi | xargs exim -Mrm
Удалить определенное сообщение из очереди можно командой (где ID это id сообщения в очереди):
exim -Mrm ID
Как очистить очередь сообщений postfix

Postfix — это агент передачи почты (MTA — mail transfer agent). Postfix — это свободное программное обеспечение. Архитектура Postfix выполнена в стиле UNIX — где простые программы выполняют минимальный набор функций, но выполняют их быстро и надежно.
Заполнившаяся очередь сообщений postfix как правило свидетельствует о проблемах с нормальным функционированием почтового сервера.
Теперь давайте вернемся к главному вопросу — Как очистить очередь сообщений postfix?
Перед тем как приступить к отчистке очереди сообщений, первым делом нам следует проверить, что сейчас находится в очереди почтового сервера postfix, для этого наберём в консоли команду:
Если в результате выполнения этой команды мы получим сообщение Mail queue is empty, значит очередь пуста и можно не волноваться. Если же результат похож на тот, что на картинке, будем чистить очередь сообщений.
Для этого мы сначала остановим postfix, набрав в консоли команду:
и после того как сервер остановлен очистим очередь командой
Пока остановлен postfix, можно почитать логи, найти проблему из-за которой очереди сообщений забиваются и решить ее. После того как проблема решена снова запустим постфикс для этого введите команду:
для того чтобы окончательно убедиться что проблема решена не забудьте через некоторое время повторить проверку очереди.
Если для у Вас остались вопросы по теме вы можете задать их в коментариях