Итак, никакие простые идеи из головы и гугла (типа перезапуска qmail, отключения спамобойки, увеличения разнообразных лимитов обработки почты, перезагрузки сервера наконец) не работали. Видеть растущую каждые несколько секунд на несколько сообщений очередь было невыносимо. Тем более спокойно спать, когда в очереди уже ждут 18 тыс. писем, а утром их там будет намного больше...
Делать нечего, как мне не хотелось, пришлось ковыряццо в очереди руками. Оказалось, дело это несложное и даже приятное, как любая уборка. Ковыряние проводится утилитой qmHandle, которая очень проста. Собственно, в ней нам нужны всего четыре команды:
./qmHandle -s # показывает текущее состояние очереди
./qmHandle -l # выводит сообщения (если их там тысячи, просто нажимаем Ctrl-C сразу после запуска)
./qmHandle -fzloy-spammer@mail.ru # удаление всех сообщений от zloy-spammer@mail.ru
./qmHandle -S"failure notice" # удаление всех сообщений с сабжем "failure notice"
Таким вот нехитрым способом удалось разгрести все 18 тыс. сообщений минут за пятнадцать. Как я доволен. :-)
Теперь соображение насчёт причины неприятного явления. Похоже, число одновременно посылаемых qmail сообщений ограничено некоторым не очень большим числом, которое не сильно поддаётся изменению даже посредством установки соответствующей переменной (я пробовал ставить 100 - бесполезно).
Если по какой-то причине очередь забивается достаточно большим числом сообщений, которые не могут послаццо (напр. спам или отлупы на несуществующие адреса), то они так и висят в состоянии отправки, наглухо перекрывая путь нормальным сообщениям.
Вот такая версия.