[Megoldva] Postfix szövegtörzs alapján átirányítás

Sewastok!

Át szeretném vizsgálni bizonyos címekre beérkező levelek törzsét és kulcsszavak alapján bizonyos címekre továbbítani.
A szöveg átvizsgálásával nincs gond, de hogy tudnám ezt megadott címek alapján elvégezni?

Hozzászólások

"sewas" :)

igazából nem látom, mit is szeretnél pontosan: a címekre megérkeznek a levelek, tehát van $HOME/Maildir?

Ha igen, akkor .forward-ba valamilyen script, amihez értesz, és az leválogatja a leveleket keresés után, majd vagy egy sendmail bináris, vagy az adott script smtplib-je küldi tovább.

Meddig jutottál el a feladatban pontosan?

Van egy működő levelezés ($HOME/Maildir :) ), több gyűjtő címmel. Például info@, palyazatok@, stb. A szövegtörzsben előforduló kulcsszavak alapján szeretném, hogyha a postfix szétválogatná a leveleket. A .forward is jó, de akkor az eredeti címzett is megkapja, és ezt nem szeretném.
Jelenleg ott tartok, hogy az összes bejövő levél szövegtörzsét átnézi a postfix és hogyha egyezést talál egy kritériummal, akkor végrehajtja az ott megjeleölt utasítást, tehát az átirányítás ezen része működik.
Azzal szeretném kiegészíteni, hogy a kritériumok egy csoportját csak egy adott címzett esetén nézze. A fejléc ellenőrzésére volna szükség, de nem találtam arra módot, hogy a postfix a fejlécben talált információ alapján alkalmazza szövegtörzs szűrését.

Procmail-lel sikerült részben megoldanom. Úgy vettem észre, hogy az ékezetes karaktetreket nem szereti. A szűrési szabályban próbáltam ékezetekkel, majd "."-tal az ékezetek helyén, de nem működik. Csak akkor ad egyezést, hogyha a levélben az adott mintában nincs ékezetes karakter.

A végső megoldás a procmail volt.

main.cf:


mailbox_command = procmail -a "$EXTENSION"

/etc/procmailrc:


SHELL=/bin/sh
PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin
# Maildir format
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
LOGFILE=/var/log/procmail.log

Az eredeti címzett könyvtárában a .procamilrc tartama:


:0B
* [kulcsszó]
! új címzett

Hogyha szeretnél egy másolatot az eredeti címzettnek is, akkor ":0Bc"-vel kezd a szabályt.