Инициировать внеплановый процесс отправки сообщений, присутствующих в очереди:
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.me/tips/info/2227.shtml
для sendmail'a подобным описанием поделитесь плз.
для sendmail почитайте про mailq
>Записав такие домены в файл, можно вручную >отсеять нормальные домены и затем
>разом удалить мусор из очереди:
> mailq| ./agr_mailq.pl|grep -f >./spamdomains.list |awk '{print $1}'\
>| tr -d '*!'|xargs -J{} -n1 postsuper -d {}xargs: invalid option -- J
Опечатка?
очевидно имелось в виду -I
В состав пакета Postfix в Debian/Ubuntu есть скрипт mailqfmt.pl, который формирует вывод mailq в однострочный (как и используемый в статье agr_mailq.pl, но вывод другой): http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440814
>Посмотреть список доменов в очереди и число сообщений для них:
> mailq |./agr_mailq.pl |awk '{print $7}'|cut -d'@' -f2|sort|uniq -c|sort -r -nЯ бы заменил {print $7} на {print $NF}