ako vlozit filter pred qmail-local
Mira Tempír
xtempir na informatics.muni.cz
Pátek Srpen 3 19:06:19 CEST 2001
Ahoj,
== 03/08/01 09:00 Jozef Hitzinger ==
|
| Zdravim,
|
| hladal som, skusal v qmail na lists.cr..., nic -
ja jsem to tam videl, cekal jsem ze odpovi nekdo jiny :)
|
| chcem zaradit pred qmail-local filter (perl skript), ale povodna idea ze
| skript nazvem qmail-local a binarku qmail-local-orig, nejde,
| qmail-local-orig zahlasi ze je volany so zlym poctom parametrov.
z man page:
qmail-local [ -nN ] user homedir local dash ext domain sender defaultdelivery
|
| tusim ze cast parametrov qmail-lspawn odovzdava qmail-local cez
| environment, a to sa pri tom skriptovani strati. ako ho obabrat som
| nezistil.
vypsat v te nahrade qmail-local vsechny promenne prostredi do nejakeho
souboru v /tmp, pak ty promenne ktere maji pro qmail nejaky smysl
exportovat dal originalnimu qmail-local-u
|
| teda ak viete ako medzi qmail-lspawn a qmail-local vlozit skript (idealne
| taky co nerobi nic, len vezme std. vstup a poda ho qmail-local-orig), pls
| nenechajte ma trapit sa.
Snazim se, nejsem si ale zrovna jisty, ze to vubec jde bez uprav qmailu,
vyzkousejte a dejte nam vedet.
The standard input for qmail-local must be a seekable file, so that
qmail-local can read it more than once.
Myslim, ze bude ale jednodussi nahradit qmail-queue, stahnete
si programek qmail-filter (da se to pouzit i bez patchovani qmailu)
misto qmail-queue pak umistite skript:
#!/bin/bash
exec /var/qmail/bin/qmail-qfilter /var/qmail/qftest
ve /var/qmail/qftest bude treba
#!/usr/bin/perl
while (<>) {
s/ahoj/nazdar/;
print;
}
foreach $i (keys %ENV) {
print $i,"=",$ENV{$i},"\n";
}
... skript v celem e-mailu nahradi slovo ahoj za nazdar
a na konec e-mailu prida vypis promennych prostredi
oproti vasemu reseni to bude spoustet spoustet uz pri ukladani
do fronty (tzn. pro vsechny e-maily)
hezke qmailovani
--
Mira Tempír, student at fi.muni.cz
<xtempir at informatics.muni.cz>
Další informace o konferenci Sendmail