The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Обработка log-файла почтового сервера Postfix"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"Обработка log-файла почтового сервера Postfix"  +/
Сообщение от Andrey (??) on 29-Мрт-10, 15:58 
вот нашел статью: http://www.opennet.ru/base/net/postfix_log_parse.txt.html
Хотелось бы добавить, чтобы в mysql заносилось статус письма (типа доставлено или в очереди например по каким-либо причинам).

Добавил нечто следующее:
# здесь хочу сделать проверку - если после status=deferred, то $rec{$id}->{'status'} присваиваю $3, если нет - то $1
#для 1-го id одного письма со статусом deferred  должно сначала работать 2-ое выражение, для 2-го id - первое выражение НО НЕ РАБОТАЕТ
#  if ($message =~ /(status=deferred)(\s)(.+)/g)
#                {
#               $rec{$id}->{'status'} = $3;
#               print "$rec{$id}->{'status'}\n";
#               print $3;
#                }

         if ($message =~ /status=(.+)/g)
#  elsif ($message =~ /status=(.+)/g)
                {
                $rec{$id}->{'status'} = $1;
#               print "$rec{$id}->{'status'}\n";
                }

пояснение: при обработке письму присваивается 2 id (прием, отправка фильтру, потом возвращение обратно в постфикс). Статус письма deferred заводится, если только письмо удалить из очереди вручную. (статус нормального письма, перемещенного в ящик нормально в mysql заводится)

выдержка из /var/log/maillog:
#лог задержанного письма
cat /var/log/maillog | grep EA59E4448C8
Mar 29 13:56:22 mail postfix/smtpd[64983]: EA59E4448C8: client=unknown[10.0.33.97], sasl_method=LOGIN, sasl_username=admin
Mar 29 13:56:23 mail postfix/cleanup[64987]: EA59E4448C8: message-id=<op.vabkeky64azo2s@xxx>
Mar 29 13:56:23 mail postfix/qmgr[64329]: EA59E4448C8: from=<admin@u.su>, size=666, nrcpt=1 (queue active)
Mar 29 13:56:28 mail postfix/smtp[64989]: EA59E4448C8: to=<test@e1.ru>, relay=127.0.0.1[127.0.0.1]:10024, delay=8.9, delays=3.1/0.02/0.01/5.7, dsn=2.0.0,
status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as C2C0F44494A)
Mar 29 13:56:28 mail postfix/qmgr[64329]: EA59E4448C8: removed

mail# cat /var/log/maillog | grep C2C0F44494A
Mar 29 13:56:28 mail postfix/smtpd[64991]: C2C0F44494A: client=localhost[127.0.0.1]
Mar 29 13:56:28 mail postfix/cleanup[64987]: C2C0F44494A: message-id=<op.vabkeky64azo2s@xxx>
Mar 29 13:56:28 mail postfix/qmgr[64329]: C2C0F44494A: from=<admin@u.su>, size=1073, nrcpt=1 (queue active)
Mar 29 13:56:28 mail amavis[64729]: (64729-02) Passed CLEAN, MYNETS LOCAL [10.0.33.97] [10.0.33.97] <admin@u.su> -> <test@e1.ru>, Message-ID:
<op.vabkeky64azo2s@xxxx>, mail_id: JuXSLFZgb25C, Hits: 1.356, size: 666, queued_as: C2C0F44494A, 5737 ms
Mar 29 13:56:28 mail postfix/smtp[64989]: EA59E4448C8: to=<test@e1.ru>, relay=127.0.0.1[127.0.0.1]:10024, delay=8.9, delays=3.1/0.02/0.01/5.7, dsn=2.0.0,
status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as C2C0F44494A)
Mar 29 13:56:28 mail postfix/smtp[64994]: C2C0F44494A: to=<test@e1.ru>, relay=e1.ru[194.226.146.5]:25, delay=0.06, delays=0.01/0.02/0.01/0.02, dsn=4.1.8
status=deferred (host e1.ru[194.226.146.5] said: 450 4.1.8 <admin@u.su>: Sender address rejected: Domain not found (in reply to RCPT TO command))


Помогите подправить, чтобы статус сразу заводился.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Обработка log-файла почтового сервера Postfix"  +/
Сообщение от теоретик on 29-Мрт-10, 21:43 
а зачем у вас во всех регулярках ключ g указан? Он же только для замены имеел бы смысл...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру