У каждого письма, которое проходит через почтовый сервис есть свой идентификатор или по-другому уникальный номер письма. Идентификаторы сообщений в очередях Exim, представляют из себя буквенно-цифровые последовательности в верхнем и нижнем регистра, например 1TrXS1-0003SL-3h, и используются большинством команд администрирования очереди и логгирования в Exim.
Exim — это Mail Transfer Agent, агент передачи сообщений или почтовый сервер, использующийся во многих операционных системах семейства Unix.
Рассмотрим краткий список команд ssh для управления почтой и почтовой очередью. Все команды нужно выполнять от root
Вывести количество сообщений в почтовой очереди (то, что мы видим в мониторинге):
exim -bpc
Печать списка сообщений в очереди. Выводятся, время постановки в очередь, размер, ID сообщения, отправитель, получатель:
exim -bp
Пример такого списка:
4h 791 1TrXgs-0004t8-0W ####@#########.com
4h 1.8K 1TrXgu-0004tZ-5w
####@#########.com
Соответственно идентификаторы этих двух сообщений: 1TrXgs-0004t8-0W и 1TrXgu-0004tZ-5w
Удалить сообщение из очереди:
exim -Mrm [id]
(Пример: exim -Mrm 1TrXgs-0004t8-0W, удалит из очереди сообщение с переданным идентификатором)
Просмотреть заголовки сообщений:
exim -Mvh [id]
Просмотреть тело сообщений:
exim -Mvb [id]
Просмотр логов сообщения:
exim -Mvl [id]
Удалить все заблокированные сообщения в почтовой очереди:
exipick -z -i | xargs exim -Mrm
Удалить все сообщения из почтовой очереди, где домен отправителя domain:
exipick -f @domain -i | xargs exim -Mrm
Удалить все сообщения из почтовой очереди, где домен получателя domain:
exipick -r @domain -i | xargs exim -Mrm
Удалить все сообщения из почтовой очереди:
exipick -i | xargs exim -Mrm
Если в очереди несколько сотен тысяч сообщений, быстрее будет выполнить удаление очереди командами
rm -rfv /var/spool/exim4/input/
rm -rfv /var/spool/exim4/msglog/
Если на сервере установлен не Exim a postfix, можно воспользоваться следующими командами
mailq вывод почтовой очереди
postsuper -d ALL
чистка почтовой очереди