Пример log файла postfix
Jul 21 12:33:27 web postfix/pickup[27071]: 012AC8C03: uid=8 from=<test@mail.ru>
Jul 21 12:33:27 web postfix/cleanup[25813]: 012AC8C03: message-id=<E1KKqpe-000Csh-00.test-mail-ru@f170.mail.ru>
Jul 21 12:33:27 web postfix/pickup[27071]: 044AC8C55: uid=8 from=<test2@mail.ru>
Jul 21 12:33:27 web postfix/cleanup[25813]: 044AC8C55: message-id=<E1KKqpe-000Csh-00.test2-mail-ru@f170.mail.ru>
Jul 21 12:33:27 web postfix/qmgr[5267]: 044AC8C55: from=<test2@mail.ru>, size=1685, nrcpt=1 (queue active)
Jul 21 12:33:27 web postfix/qmgr[5267]: 012AC8C03: from=<test@mail.ru>, size=1085, nrcpt=1 (queue active)
Jul 21 12:33:27 web postfix/pipe[26789]: 012AC8C03: to=<slam@literline.ru>, relay=procmail, delay=0.09, delays=0.04/0/0/0.04, dsn=2.0.0, status=sent (delivered via procmail service)
Jul 21 12:33:27 web postfix/qmgr[5267]: 012AC8C03: removed
Jul 21 12:33:27 web postfix/pipe[26789]: 044AC8C55: to=<slam@literline.ru>, relay=procmail, delay=0.09, delays=0.04/0/0/0.04, dsn=2.0.0, status=sent (delivered via procmail service)
Jul 21 12:33:27 web postfix/qmgr[5267]: 044AC8C55: removed
log файл я сам дополнил еще одним получением, т.к. письма обрабатываються не по порядку - отправленно 2а письма с ящиков test@mail.ru и test2@mail.ru на ящик slam@literline.ruНапример нужно посчитать размер писем отправленных на ящик slam@interline.ru, примерно делаю это следующим образом:
1) фильтрую log файл и очищаю его от ненужного мусора (размер log файла порядка 600Mb в день)
2) ищу письма с to=<slam@literline.ru> и заношу в массив его id (первый цикл)
2) беру первый элемент массива, т.е. id первого найденного письма
3) по id ищу строку где есть id и size=.... (второй цикл)
4) запоминаю размер и суммируе его с текущим ($total_size = $total_size + $size)
5) следущее письмо
НО клиентов которых нужно общитывать с десяток - отсюда еще один цикл.