ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Управляем почтовой очередью в MTA Qmail на сервере FreeBSD.

qmqtool

Порт: /usr/ports/mail/qmqtool
Сайт: http://jeremy.kister.net/code/qmqtool

qmqtool — утилита для просмотра очереди qmail и манипулирования сообщениями. По функциональности аналогична qmHandle, но имеет более удобный интерфейс (как для управления так и для просмотра результатов) и использует альтернативный метод для удаления сообщений из очереди (принудительное «устаревание» сообщений), который позволяет безопасно удалять письма без остановки почтовой системы.

qmqtool version 1.13
syntax: qmqtool [-l] [-L] [-R] [-S [-nN]] [-T] [-s] [-Q] [-c] [-r] [-i [-nN]] [-V]
[-E(A|R|L)] [-U(A|R|L)] [-vN [-w]] [-e(N|[-f 'STRING'|-oN])] [-u(N|[-f 'STRING'|-oN])]
[-d(N|[-f 'STRING'|-oN])] [-f 'STRING'] [-oN] [-B(b|r)]

-l              list messages in all parts of the queue
-L              list messages in local queue
-R              list messages in remote queue
-T              list messages in todo queue
-s              show statistical information
-Q              be as quiet as possible (useful for snmp, cron, and such)
-V              be more verbose
-B
b             Backup queue into /var/qmail/queue.backup/
r             Restore backup from /var/qmail/queue.backup/
-c              check queue consitancy
-r              repair queue (by deleting fragments) found by checking queue consistancy
-i              show how many messages are queued per ip
-nN          pay attention to the Nth last smtp-hop
-S              show how many bytes are queued per ip
-e              expire message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-u              unexpire message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-d              delete message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-E              expire messages in [A]ll, [R]emote, or [L]ocal queues
-U              unexpire messages in [A]ll, [R]emote, or [L]ocal queues
-v
N             view first 100 lines of message number N
N -w          view whole message N
-f 'STRING'     display comma separated list of message number(s) containing STRING.
prints 0 if no matches are found.
-o N            display comma separated list of message number(s) older than N hours.
prints 0 if no matches are found.

Примеры

Посмотреть очередь в порядке ‘local’, ‘remote’, and ‘todo’:

qmqtool -s -Q

Посмотреть почтовую очередь по типам:

qmqtool [-l] [-L] [-R] [-T]

  • -l => вся очередь
  • -L => очередь local
  • -R => очередь remote
  • -T => очередь todo

Посмотреть информацию по всей очереди:

qmqtool -l

Показывает первые 100 строчек сообщения с ID 3368277:

qmqtool -v 3368277

Устаревает в очереди письма, в которых содержится такая строка

qmqtool -e -f ‘192.168.1.10’

Пример, когда сервер был заспамлен кем то.

Смотрим на очереди и видим, что у нас большая исходящая очередь:
qmqtool -s -Q

3
18554
199

Просматриваем все очереди и выбираем подозрительное письмо:
qmqtool -l | more

3368277 (3, remote)
Envelope Sender: 04.1.0.656D696C79636F6C7440686F746D61696C2E636F6D@domain.ru
Envelope Recipient: wc52@hotmail.com (To Be Delivered)
Envelope Recipient: wfiler@hotmail.com (To Be Delivered)
Envelope Recipient: poohandhomer@hotmail.com (To Be Delivered)
Envelope Recipient: cabron76@hotmail.com (To Be Delivered)
Envelope Recipient: devo1977@hotmail.com (To Be Delivered)
Envelope Recipient: claus_qvist@hotmail.com (To Be Delivered)
Envelope Recipient: klenakis@hotmail.com (To Be Delivered)
Date: Fri, 10 Oct 2008 05:40:57 +0800
From: "emily at MySpace" <04.1.0.656D696C79636F6C7440686...
To: <wc52>
Subject: emily invites you to MySpace

Смотрим первые 100 строчек подозрительного письма и находим IP-адрес «плохого»:

qmqtool -v 3368277 | more

MESSAGE NUMBER 3368277:

Received: (qmail 25338 invoked from network); 10 Oct 2008 05:39:48 +0300
Received: from 192-168-1-10.domain.com [192.168.1.10]  (HELO domain.ru)
by mail.domain.ru with ESMTP; 10 Oct 2008 05:39:49 +0300
Received: from smtp18.yenddx.com ([87.7.74.130]) by mxs.perenter.com with ESMTP; Fri, 10 Oct 2008 04:49:54 +0400
Received: from mailout.endmonthnow.com [4.27.168.168] by mail.webhostings4u.com with SMTP; Fri, 10 Oct 2008 03:36:22 +0400
Received: from [198.252.208.227] by rly04.hottestmile.com with SMTP; Fri, 10 Oct 2008 02:22:10 +0400
Received: from unknown (HELO m1.gns.snv.thisdomainl.com) (Fri, 10 Oct 2008 02:05:54 +0400)
by mtu67.syds.piswix.net with ASMTP; Fri, 10 Oct 2008 02:05:54 +0400
Message-ID: <E49C5996>
Date: Fri, 10 Oct 2008 00:44:13 +0400
Reply-To: "emily at MySpace" <04>
From: "emily at MySpace" <04>
MIME-Version: 1.0
To: <damoon_tar>
Subject: emily invites you to MySpace
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

emily is a member of MySpace and is inviting you to join.

Выполняем команду на «устаревание» всех писем в очереди, в которых в заголовке содержится строка «192.168.1.10»:

qmqtool -e -f ‘192.168.1.10’

Проверяем очереди ещё раз:

qmqtool -s -Q

3
147
199

Видим, что очередь уменьшилась. Так же можно просто удалить эти письма:

qmqtool -d -f ‘192.168.1.10’

Но удалять письма из очереди нужно только при остановленном qmail.

qmHandle

Порт: /usr/ports/mail/qmhandle
Сайт: http://sourceforge.net/projects/qmhandle/

qmHandle v1.3.2
Copyright 1998-2003 Michele Beltrame

Available parameters:
-a       : try to send queued messages now (qmail must be running)
-l       : list message queues
-L       : list local message queue
-R       : list remote message queue
-s       : show some statistics
-mN      : display message number N
-dN      : delete message number N
-fsender : delete message from sender
-f're'   : delete message from senders matching regular expression re
-Stext   : delete all messages that have/contain text as Subject
-h're'   : delete all messages with headers matching regular expression re (case insensitive)
-b're'   : delete all messages with body matching regular expression re (case insensitive)
-H're'   : delete all messages with headers matching regular expression re (case sensitive)
-B're'   : delete all messages with body matching regular expression re (case sensitive)
-t're'   : flag messages with recipients in regular expression 're' for earlier retry (note: this lengthens the time message can stay in queue)
-D       : delete all messages in the queue (local and remote)
-V       : print program version

Additional (optional) parameters:
-c       : display colored output
-N       : list message numbers only
(to be used either with -l, -L or -R)

Примеры

Просмотр очередей:

qmHandle -l

Просмотр письма ID 2049438:

qmHandle -m2049438

Удалить все письма с subject «Test»:

qmHandle -S»Test»

Удалять письма из очереди нужно только при остановленном qmail.

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Авторы: Николаев Дмитрий (virus (at) subnets.ru) && Debugger

Похожие статьи:

    Не найдено

Прочитано: 9 423 раз(а)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту

Добавить комментарий

Вам следует авторизоваться для размещения комментария.