как очистить очередь mailq по получателю (отправителю)
 

ukritie.org.ua

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

как очистить очередь mailq по получателю (отправителю)
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: как очистить очередь mailq по получателю (отправителю)

как очистить очередь mailq по получателю (отправителю) 02.11.2010 15:53 #269

  • pro
  • Вне сайта
  • Заблокирован
  • Постов: 164
  • Репутация: 2
периодически при работе с почтой случаются такие ситуации, при котором скапливается большое количество писем на сервере в очереди, и замедляется или утрудняется получение писем для их адресатов. Письма, накапливающиеся в очереди для доставки бывают следующего характера:

1) Письма пользователей, у которых переполнен ящик, и письмо не может быть доставлено. Такое письмо может висеть до нескольких дней

2) Письма для несуществующих адресатов, или для уже несуществующих доменов

3) Письма, которые должны быть перенаправлены для доставки на другой сервер

4) ну и нужные письма, которые могут высеть в ожидании своей очереди в большом количестве.

Скапливаться нужные письма в почтовой очереди могут по таким причинам:

а) Большой размер писем при их большом количестве (такое может быть в результате отсылания письма например размером 8мегабайт на нескольких адресатов или группу рассылки, где письмо каждое ждет своей очереди для доставки на ящик)

б) большое количество писем с вирусами, присланных на почтовый сервер, в результате сервер тратит много времени на анализ и сортировку писем, и очередь замедляется

в) наличие в очереди писем из пунктов 1) 2) 3) , в результате чего нужные письма ждут очереди пока обработаются ранее присланные
экономьте электричетсво - выключайте Num Lock!

RE: как очистить очередь mailq по получателю (отправителю) 02.11.2010 15:57 #270

  • pro
  • Вне сайта
  • Заблокирован
  • Постов: 164
  • Репутация: 2
для решения вышеуказанных задач, в случае проблем с почтой, есть надобность удалять ненужные письма(неверный адресат или заранее известно что спам) из очереди. Поскольку при таких ЧП количество писем составляет 2-6 тысяч в очереди, для решения таких проблем у нас в организации для работы в очереди mailq была написана система скриптов, которые в случае надобности позволяют удаляет не каждое письмо в отдельности, посколько это трудоемко и при таких размерах не имеет смысла, а массово по каким либо признакам.

учитывая что очередь составляет массив такого вида


15BB3DAC8D3* 112464 Fri Oct 29 10:22:57 Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript

BA7DFDACFA3* 81217 Fri Oct 29 10:22:55 Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript

EA5F6DAC68E* 32537 Thu Oct 28 19:17:43 Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
(host 82.117.238.49[82.117.238.49] said: 450 < Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript >: Sender address rejected: Domain not found (in reply to RCPT TO command))
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript

EA182DAC681* 32538 Thu Oct 28 19:17:43 Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
(host 82.117.238.49[82.117.238.49] said: 450 < Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript >: Sender address rejected: Domain not found (in reply to RCPT TO command))
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript


и удаляются они по id письма, то можно выделить из него поля, соответствующие id(1-й в массиве) и 7-й(нужный нам отправитель), и пропустив через цикл удалить соответствующие id.

скрипт по удалению получателя remotesender.sh имеет такой вид:


#!/bin/sh

adress=$1 #адрес отправителя
echo $adress
mailq | awk \'BEGIN { RS = \"\" }{ print $1 $7 }\' | grep $adress > 1.txt
cat 1.txt | cut -d \"*\" -f1 | while read line
do
postsuper -d $line
done


где $1 - это переменная адреса отправителя, то есть, чтобы удалить с очереди все письма несуществущего адреса Петрова, достаточно указать после скрипта его адрес, то есть таким образом - ./remotesender.sh Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript

Но как быть, если нам нужно удалить письма по получателю? Ведь он находится не в одной строке в очереди с id письма, и заранее неизвестно каким он может быть по счету....
Ведь часто есть надобность удалить письма к несуществующему получателю, скопившиеся в очереди, чем с адресов, которые писали ему, так как они могут быть разными, спамеры сейчас почти нигде не используют один адрес. Для этого вчера путем проб и ошибок в боевых условиях создан такой скрипт ./remoterecipient.sh :

#!/bin/sh
adress=$1
echo $adress
number=$2
echo $number

# $1 - adres poluchatelya $2 - nomer adresa po szhetu

mailq | awk \'BEGIN { RS = \"\" } { print $1 \"_\" $\'$number\' }\' | grep $adress | cut -d \"_\" -f1 | postsuper -d -


то есть если надо удалить все письма на несуществующий адрес Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript применяем для очереди скрипт таком виде : ./ remoterecipient.sh Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript 24

на данный момент скрипт существует и успешно может работать с очередью писем в таком виде, в будущем возможна его оптимизаиция и изменение под надобности
экономьте электричетсво - выключайте Num Lock!
Изменено: 02.11.2010 15:58 от pro.
  • Страница:
  • 1
Время создания страницы: 0.29 секунд

НОВОЕ НА ФОРУМЕ

Нет сообщений для показа


Поиск

Календарь

Праздники Украины