Postfix — скрипты и команды

Как удалить почту из очереди постфикс, если в очереди сказано, что лимит на отправку получателю превышен, или неверно указан адресат

В предыдущем посте берем скрипт, кладем его в /root. Называем pfdel.
Создадим файл с проблемной почточ ( например неправильно указан получатель и т.д.

nano/root/scripts/black_list.txt

Вставим туда в каждую строку наших получателей, которым не уходит почта.

mail1@mail.ru
mail2@mai.ru

Теперь создаем новый файл bash и вставляем туда содержимое.

nano /root/delete_mail.sh
#!/bin/bash
echo "ЭТАП 1"
echo "ОЧИСТКА ПИСЕМ ПО ЧЕРНОМУ СПИСКУ /root/scripts/black_list.txt"
for EMAIL in `cat /root/scripts/black_list.txt`
      do
      perl /root/pfdel ${EMAIL};
      done
echo "текущая очередь"
mailq;
echo "ЭТАП 2"
echo "Удаляю почту с превышеным лимитом по отправке адресату $I"
for I in `mailq | grep "has exceeded their message rate limit" | awk ' {print $8} ' | sed "s///g"`
do
echo "Удаляю почту с превышеным лимитом по отправке адресату $I"
perl /root/pfdel $I;
done
echo "текущая очередь"
mailq;

Вставим в крон

5 * * * * sh /root/delete_mail.sh

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *