Примеры управлением очередью сообщений в Postfix |
[исправить] |
Инициировать внеплановый процесс отправки сообщений, присутствующих в очереди:
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 {}
|
|
|
19.11.2009
|
Раздел: Корень / Администратору / Сетевые сервисы / Mail, почта / Борьба со спамом, фильтрация почты |
1.1, q (??), 14:10, 20/11/2009 [ответить]
| +/– |
для sendmail'a подобным описанием поделитесь плз.
| |
1.2, Ночной админ (ok), 21:17, 21/11/2009 [ответить]
| +/– |
>Записав такие домены в файл, можно вручную >отсеять нормальные домены и затем
>разом удалить мусор из очереди:
> mailq| ./agr_mailq.pl|grep -f >./spamdomains.list |awk '{print $1}'\
>| tr -d '*!'|xargs -J{} -n1 postsuper -d {}
xargs: invalid option -- J
Опечатка?
| |
1.6, Антон (??), 04:42, 03/10/2012 [ответить]
| +/– |
>Посмотреть список доменов в очереди и число сообщений для них:
> mailq |./agr_mailq.pl |awk '{print $7}'|cut -d'@' -f2|sort|uniq -c|sort -r -n
Я бы заменил {print $7} на {print $NF}
| |
|