Levelezés naplózása

Fórumok

Sziasztok!

Van egy Ubuntu 6.06-os levelezőszerverünk Postfix-szel. A főnökeim megkértek, hogy ha lehetséges, akkor naplózzuk a kimenő és bejövő levelezést. Amire szükségük lenne:

- Feladó
- Címzett
- Tárgy
- Beérkezés ideje

A legjobb lenne, ha egy MySQL táblában lenne letárolva az eredmény, de nyitott vagyok más megoldásokra is. Van ötletetek?

Hozzászólások

Hmm, a content filter es a milter kornyeken kellene nezelodnod. Az mas kerdes, mennyire lesz megbizhato az eredmeny, mert pl. a levelek fejlece es az envelope nyugodtan elterhet - a content filterek az elobbivel, mig az SMTP szerverek az utobbival foglalkoznak. A fonokok pedig a legtobb esetben nem hallottak meg az SMTP envelope letezeserol sem :)

fapad: keresztulhajtani mindent formailen, az ki lehet szedni az infot, aztan oda tenni, ahova akarod.

Mondjuk teljesitmenyhatekonysagra nem valami fenyes...

A Postfix mondjuk a Tárgy kivételével alapból naplózza a többi felsoroltat. Ahhoz hogy a tárgyat is naplózza:
header_checks = regexp:/etc/postfix/checks/header_checks
/etc/postfix/checks/header_checks tartalma:
/^subject:/ WARN
A magyar karakterek nem igazán lesznek olvashatók...

Ha csak arra kell, hogy meglegyen, akkor szerintem felesleges SQL-be betenni, a /var/log/mail.info -kat kell letenni.

Mik

Igazából a szitu a következő:
Írtam egy iktatóprogramot, ami MySQL adatbázisban tárolja le az adatokat. Eddig minden levelet (E-Mailt is) kézzel iktattak. Hogy ez leegyszerűsödjön, kiadták feladatnak, hogy ha megoldható, akkor minden nap kérnének egy kivonatot mind a kimenő, mind a bemenő E-Mailekről, amit le kellene tárolni, így gyakorlatilag egy iktatószám alatt "lennének" a kimenő, egy másikon a bemenő E-Mailek. Arra gondoltam, hogy a naplófájlokkal lehetne kezdeni valamit, csak az a baj, hogy pont a tárgyat nem naplózza semmi.

Hm, ja. Mondjuk ez igy kulon sorba rakja a logba, nem? Persze nyilvan ossze lehet azt is gyujteni, meg matcholni nap vegen :) De ha mar ugyis heggeszteni kell, akkor mar talan egyszerubb a kezbesites kornyeken pancsolni, foleg, hogy akkor nem kell kivalogatni belole meg egyszer egy spamet.

Persze a masik oldalrol meg syslog-ng -t kell hasznalni, aztan lehet oda naplozni a naplozni valot, ahova az ember akarja, tobbekozott sqlbe is emlekeim szerint.

De gyanus, hogy ennek a dolognak mar kesz kell lennie valahol :)

Nem:


2007-09-05 10:51:33	mail	postfix/cleanup[3198]: B4240F2E0D: 
 warning: header Subject: Fwd: FW: az igazi Shrek from fmx08.freemail.hu[195.228.245.58];
 from=<*******@freemail.hu> to=<******@*********.hu> proto=SMTP helo=<fmx08.freemail.hu>

Persze emellett megvannak a szokásos from= és to= sorok is.

Mik

Ha beiktatsz egy maildropot a kezbesiteshez, tehat hogy maildrop kezbesitse a leveleket, akkor a maildroprc-ben megadhatod, hogy logoljon, es az pont azokat a dolgokat logolja, amit te szeretnel.

Köszönöm mindenkinek a segítségét, sikerült megoldani a problémát!

A megoldás a következő lett:
- A postfix header_checks opciójával sikerült naplózni a tárgyat is.
- Egy bash script segítségével leszűrtem ezeket a bejegyzéseket, egy általam írt programmal emberileg emészthetővé tettem (a tárgyat is az ékezetes betűkkel), majd egy sql parancsot generáltam belőle, amit lefuttatva bekerült a "riport" az iktatóprogramba.
- A bash futását napi futásra, 23:50-re állítottam be a crontabban.

Mégegyszer köszönöm, sokat segítettetek!