Fórumok
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
UP :)
"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.
Csak kulso programmal oldhato meg. A postfix soronkent vegzi az ellenorzest, ahogy a doksijaban le is van irva.
Gondolom procmail lenne az egyik ilyen lehetőség, azonban ahhoz át kellene állítani a postfixet, hogy a procmail végezze a levelek helyi kézbesítését. Ezt, hogyha lehet, el szeretném kerülni.
Kuldd at pl. egy content_filter-en, az nyugodtan atirhatja a levelet mielott ujra a postfix-hez kerulne.
Lehet olyat is, hogy a kézbesítést ugyan a local(8) végzi, de a user $HOME-jában van .forward, amiben ennyi van:
|/path/to/script
a script pedig az stdin-en kapja majd meg a levelet, amivel azt csinálsz, amit akarsz.
a.
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.
Ezt azert eleg nehez elhinni. Nezd meg a level forrasat, gyanithatoan fogsz ott latni par erdekesseget az ekezetes karakterek kodolasa kapcsan.
Igen, időközben kiderült, hogy az én kliensemmel van a baj. Máshonnan küldtem levelet és azt rendesen szűrte. Köszönöm a segítséget!
Az archivum kedveert leirhatnad a teljes megoldast :) (par soros, esetleg lepesrol lepesre, hogy masnak _segithess_)
start OFF:
en szeretem latni a topik cime elott a [Megoldva] elotagot. Nemtudom mas hogy van ezzel de en "szeret(ne)m"
end OFF
-
budacsik
Jogos. :) Pótoltam.
A végső megoldás a procmail volt.
main.cf:
/etc/procmailrc:
Az eredeti címzett könyvtárában a .procamilrc tartama:
Hogyha szeretnél egy másolatot az eredeti címzettnek is, akkor ":0Bc"-vel kezd a szabályt.