Инициировать внеплановый процесс отправки сообщений, присутствующих в очереди:
postqueue -fПоказать содержимое очереди:
postqueue -p
Инициировать внеплановую доставку накопившихся в очереди сообщений для домена test.ru:
postqueue -s test.ru
Постмотреть параметры сообщения и причины проблем с отправкой для заданного идентификатора сообщения в очереди:
postcat -q 54D4E563B51
Очистить из очереди домены по заданной маске:
mailq| ./agr_mailq.pl|grep -E 'MAILER-DAEMON|yahoo|\.de|\.fr|\.it|\.ch'|awk '{print $1}'\
| tr -d '*!'|xargs -J{} -n1 postsuper -d {} deferred
mailq| ./agr_mailq.pl|grep -E 'MAILER-DAEMON|yahoo|\.de|\.fr|\.it|\.ch'|awk '{print $1}'\
| tr -d '*!'|xargs -J{} -n1 postsuper -d {}
где agr_mailq.pl скрипт следующего содержания:
#!/usr/bin/perl
my $cur_line="";
while(<>){
chomp();
if (/^[\w\d\*]+\s+\d+/){
print "$cur_line\n";
$cur_line=$_;
} else {
s/\s+//s;
$cur_line .= "\t" . $_;
}
}
Отфильтровать и удалить из очереди только сообщения на 5 и более адресов разом:
mailq |./agr_mailq_big.pl| tr -d '*!'|xargs -J{} -n1 postsuper -d {}
где agr_mailq_big.pl:
#!/usr/bin/perl
my $cur_line="";
my $counter=0;
while(<>){
chomp();
if (/^[\w\d\*]+\s+\d+/){
if ($counter >= 5){
print "$cur_line\n";
}
$cur_line=$_;
$counter=0;
} else {
s/\s+//s;
$cur_line .= "\t" . $_;
$counter++;
}
}
Посмотреть список доменов в очереди и число сообщений для них:
mailq |./agr_mailq.pl |awk '{print $7}'|cut -d'@' -f2|sort|uniq -c|sort -r -n
Записав такие домены в файл, можно вручную отсеять нормальные домены и затем разом удалить мусор из очереди:
mailq| ./agr_mailq.pl|grep -f ./spamdomains.list |awk '{print $1}'\
| tr -d '*!'|xargs -J{} -n1 postsuper -d {}
URL:
Обсуждается: http://www.opennet.dev/tips/info/2227.shtml