Частые команды для работы с почтой Linux

Mail шпаргалка

Удалить очередь писем
exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash
Просмотр очереди
mailq

Узнать количество писем в очереди
mailq | wc -l

очистить очередь
find /var/spool/mqueue -type f -exec rm -f {} \;

Посмотреть размер почтовой очереди вы можете с помощью команды:
exim -bpc

Посмотреть id писем в почтовой очереди:
exim -bp

Посмотреть содержимое письма с id 1b*****:
vi /var/spool/exim/input/1b*****-D

Посмотреть его заголовок: Вместо 1b****** указывайте конкретный ID письма из очереди в exim -bp
vi /var/spool/exim/input/1b*****-H

Для очистки почтовой очереди:
exipick -i | xargs exim -Mrm

Посмотреть открытые файлы, которые подключены к почтовому серверу exim вы можете с помощью команды:
lsof | grep smtp

Посмотреть, идет ли почтовый трафик, можно командой:
tcpdump -n port 25

Отслеживать изменения в почтовых логах:
tail -f /var/log/exim4/mainlog
Внимание! Если у вас exim4, то в путях необходимо указывать exim4 вместо exim

Получить имена скриптов использующих функцию mail:
grep -R 'X-PHP-Originating' /var/spool/exim4/input/|awk '{print $3}'|grep php|awk -F : '{print $2}'|sort|uniq -c
exim -bpr

Вывод почтовой очереди, но без сортировки. Полезно, когда в очереди много сообщений, а сортировка не нужна.
exim -bpc

Вывод количества сообщений в очереди.
exim -Mvl message_id

Посмотр лог сообщения.
exim -Mvb message_id

Вывод тела сообщения.
exim -Mvh message_id

Вывод заголовков сообщения
exim -Mrm message_id message_id ...

Удалить сообщение из очереди и не посылать никаких ошибок (в логах запись о удалении будет).
exim -Mg message_id message_id ...

Удалить сообщение из очереди и отослать "отлуп" (cancelled by administrator).
exim -M message_id message_id ...

Ускорить доставку сообщения (немедленно выполняет доставку сообщения).
exim -Mar message_id address address ...

Добавить адрес в вписок получателей сообщения.
exim -Mes message_id address

Заменить адрес отправителя в сообщении на указанный.
exim -Mf message_id message_id ...

Отметить перечисленные сообщения как "frozen". Попытки доставки сообщения прекращаются, пока сообщение не будет разморожено вручную, или пока не пройдет время указанное в "auto_thaw".
exim -Mt message_id message_id ...

"Разморозить" сообщения.
Для сообщений, которые подозреваются в спаме удобно сначала массово, сделать -Mf, потом -Mvl, -Mvh и -Mvb для пары выбранных наугад сообщений. Если все еще невозможно с консоли определить спам ли это (например, проблемы с кодировками или есть вложения), то можно с помощью -Mar добавить себя в список получателей, и ускорить данное сообщение с помощью -M. Когда все наконец станет ясно, то либо -Mrm, либо -Mt.
exipick -i | xargs exim -Mrm

Очистить очередь. Тоесть, по сути удаляем все сообщения из очереди.
exipick -zi | xargs exim -Mrm

Удалить из очереди все "замороженные" сообщения (помеченные как "frozen").
exipick -i | xargs exim -Mrm && exipick -zi | xargs exim -Mrm
exipick -i | xargs exim -Mrm & exipick -zi | xargs exim -Mrm

© Copyright 2011-2019