Postfix naplózás

Hello,

Naplóznom kellene egy bizonyos domain-ről ezer felé küldött levelek kézbesítésének tényét. Ez azt jelentené, hogy mikor tőlem elvette a levelet a célszemély mx-e, az már bőven elég. A mail.log analizálás nem játszik, külön szeretném megoldani (pl. adatbázisba lerakni ezeket az adatokat).
Az MTA postfix, de ezt már írtam :).
Köszönöm!

Hozzászólások

Pl. postfix smtp processzének logjait egy progranak irányítod át (pl syslog-ng -vel), és feldolgozod.

Más megoldás nagyon nincs, mert a postfix a syslog-al logol.

Gyártottam syslog-ng filtert, de nem látom egyelőre a megoldást. Kb. ez a folyamat:

- postfix fogadja a levelet (ebben a sorban van a feladó illetve a címzett)
- továbbdobja az amavisnak, az megrágja és visszadobja a postfix-nek, hogy rendben (vagy nem)
- postfix kezetfog a címzett mx-ével, megegyeznek és a dest. mx elveszi a levelet.

Ez itt alap hangon 7-8 sor a logból. Az utolsó pontnál már csak a címzett van meg illetve az, hogy az mx átvette.
Nekem ebből három dologra van szükségem. Ki küldte. Kinek. Mikor vette át a címzett mx-e.
Ha esetleg van erre valakinek okos filtere, annak nagyon örülnék, ha nem akkor írok rá valami okos perl scriptet.
Köszi.

szerintem valami postfix log analizis segit, kulonallo scriptben, crontabbol futtatva idokozonkent

a kovetkezo logika szerint:

eloszor kivalogatjuk a postfix belso mailidket, adott domainre vonatkozoan


#!/bin/sh
FILE="/var/log/mail.log"
LIST=`egrep "(from|to)=<[^>]+@domain\.hu>" ${FILE} | \
awk '{print $6}' | \
sed 's/:$//' `

majd ezt kovetoen megnezzuk az egyes kikuldesi statuszokra vonatkozo logbejegyzeseket


#!/bin/sh
for i in $LIST; do
grep $i $FILE| grep "status=sent"
done

aztan izles szerint a megtalalt erdemi sorokat be lehet toltogetni insert into if not exists, a mailid-t mint egyedi kulcsot hasznalva az sql adatbazisba, hogy ne legyenek duplikatumok

a logrotate-re kell esetleg odafigyelni, mert amikor az fut, akkor lehet egy-ket levelrol nem keszul bejegyzes, de ezt a kikuldes idozitesevel meg lehet oldani

---

aztan meg egy kis disclaimer: ha spamek kikuldesere, vagy mas csibeszkedesre hasznalod az itt leirt know-howt, legalabb fajduljon meg a fejed ;P