Различия
Показаны различия между двумя версиями страницы.
сети:решение_проблем_с_очередью_отправляемой_почты_в_postfix [2014/01/05 11:36] |
сети:решение_проблем_с_очередью_отправляемой_почты_в_postfix [2022/04/01 15:08] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== решение проблем с очередью отправляемой почты в postfix ====== | ||
+ | Применимость: | ||
+ | |||
+ | Слова для поиска: | ||
+ | ---- | ||
+ | ===== Задача: | ||
+ | Как решить проблемы с отправкой почты? | ||
+ | ===== Решение: | ||
+ | Для выявления проблем можно использовать различные средства. | ||
+ | |||
+ | ==== Инструменты ==== | ||
+ | |||
+ | |||
+ | * **mailq** – утилита для просмотра списка сообщений, | ||
+ | |||
+ | * **postsuper** – утилита обслуживания почтовых очередей. Одним из применений является удаление какого-либо сообщения или повторная установка его в очередь на доставку. | ||
+ | * **postqueue** также создана для управления очередями. ОТличие от **postsuper** в том, что для работы c postsuper требуются права root, а для postqueue таких широких полномочий не нужно, хотя за счет этого теряется часть функционала. | ||
+ | |||
+ | * **postcat** – утилита, | ||
+ | |||
+ | * **pfqueue** - [[http:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * **pflogsumm** - cкрипт [[http:// | ||
+ | |||
+ | ==== Примеры команд и командных конструкций: | ||
+ | |||
+ | Инициировать немедленную доставку: | ||
+ | |||
+ | postsuper -r ALL; postfix flush | ||
+ | |||
+ | Толкнуть | ||
+ | |||
+ | postsuper -r ID | ||
+ | |||
+ | Удалить письмо по ID: | ||
+ | |||
+ | postsuper -d ID | ||
+ | |||
+ | Инициировать внеплановый процесс отправки сообщений, | ||
+ | | ||
+ | |||
+ | Показать содержимое очереди: | ||
+ | | ||
+ | |||
+ | Показать всех получателей, | ||
+ | for i in `find / | ||
+ | |||
+ | Просмотреть размеры очередей Postfix | ||
+ | for i in active bounce corrupt defer deferred flush hold incoming maildrop public saved trace; do echo -n "$i "; find "/ | ||
+ | |||
+ | |||
+ | Инициировать доставку накопившихся в очереди сообщений для домена test.ru: | ||
+ | | ||
+ | |||
+ | Просмотр отдельного сообщения: | ||
+ | |||
+ | postcat -q 5C4F468EC41 | less | ||
+ | |||
+ | |||
+ | Очистить из очереди домены по заданной маске: | ||
+ | | ||
+ | | tr -d ' | ||
+ | | ||
+ | | tr -d ' | ||
+ | |||
+ | где agr_mailq.pl скрипт следующего содержания: | ||
+ | < | ||
+ | # | ||
+ | my $cur_line=""; | ||
+ | | ||
+ | | ||
+ | if (/ | ||
+ | print " | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | Отфильтровать и удалить из очереди только сообщения на 5 и более адресов разом: | ||
+ | mailq |./ | ||
+ | |||
+ | где agr_mailq_big.pl: | ||
+ | < | ||
+ | # | ||
+ | my $cur_line=""; | ||
+ | my $counter=0; | ||
+ | | ||
+ | | ||
+ | if (/ | ||
+ | if ($counter >= 5){ | ||
+ | print " | ||
+ | } | ||
+ | $cur_line=$_; | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Посмотреть список доменов в очереди и число сообщений для них: | ||
+ | mailq |./ | ||
+ | |||
+ | Записав такие домены в файл, можно вручную отсеять нормальные домены и затем | ||
+ | разом удалить мусор из очереди: | ||
+ | |||
+ | | ||
+ | | tr -d ' | ||
+ | |||
+ | |||
+ | |||
+ | Удаление группы писем от определенного FROM (на примере MAILER-DAEMON): | ||
+ | |||
+ | FreeBSD: | ||
+ | mailq | grep ' | ||
+ | Linux: | ||
+ | mailq | grep ' | ||
+ | |||
+ | Удаление группы писем от определенного FROM в статусе REQUIRE: | ||
+ | |||
+ | mailq | grep ' | ||
+ | |||
+ | ==== Проблемы по файловой системе ==== | ||
+ | |||
+ | Вы [[http:// | ||
+ | |||
+ | Учитывайте, | ||
+ | |||
+ | Проверьте где у вас расположена очередь сообщений и обеспечьте монтирование монтирование файловой системы с этой директорией без этих опций. | ||
+ | |||
+ | postconf queue_directory | ||
+ | | ||
+ | |||
+ | Или измените директорию командами: | ||
+ | mv / | ||
+ | postconf -e queue_directory=/ | ||
+ | service postfix restart | ||
+ | |||
+ | |||
+ | Если вы используете опцию noexec для /tmp, то при выполнении | ||
+ | dpkg-reconfigure postfix | ||
+ | Вы можете получить сообщение об ошибке наподобие этого: | ||
+ | Preconfiguring packages ... | ||
+ | Can't exec "/ | ||
+ | open2: exec of / | ||
+ | |||
+ | Временно перемонтируйте /tmp без noexec, после успешного завершения dpkg-reconfigure можно вернуть все обратно | ||
+ | |||
+ | |||
+ | ===== Смотрите также: ===== | ||
+ | * [[сети: | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | Актуальность: | ||
+ | {{tag> | ||