zaloha posty kazda zprava do extra souboru

Lubos Kaspar lk na cnb.cz
Pondělí Srpen 11 11:57:02 CEST 2003


> Date: Mon, 11 Aug 2003 11:35:43 +0200
> From: mardon <mar.don na seznam.cz>
> To: sendmail na linux.cz
> Subject: zaloha posty kazda zprava do extra souboru
> 
>   mam problem pouzivame sendmail jako SMTP
>   na lokalech je outlook 2000, ktery stahuje postu.
>   Potrebuji zazalohovat postu jednoho uctu, to jsen nastavila pomoci
>   .forward na jiny uziv. ucet.
>   Ted bych ,ale potrebovala kazdou zpravu zazalohovat do samostatneho
>   souboru a ne vsechny do jednoho jak to funguje nyni.

Do .forward se da dat "| program", cimz se posta presmerovana do
programu, ktery ji dostane na stdin a pak si s ni uz muze delat, co chce,
tj. napr. prave ulozit do souboru; pokud si vymyslite vhodna unikatni
genericka jmena (asi nejlepe slozena z data a casu a treba cisla procesu),
tak by na to mohl stacit treba nejaky jednoduchy skriptik v posix-sh -
ideove asi takto (samozrejme by to ve finale chtelo nejakou obsluhu chyby
zapisu do ciloveho souboru s presmerovanim stderr na vhodne misto):

$ cat .forward
| /bin/sh -c "/usr/local/bin/mail-archiver"
$ cat /usr/local/bin/mail-archiver"
#!/bin/sh
PATH=/bin:/usr/bin; DIR=~/mail-archive
cat >$DIR/$(date +%Y%m%d%H%M%S).$$

(umisteni sh a cat by melo vyhovet vetsine unixu a adresar $DIR by se
musel vytvorit predem i s vhodnymi pristupovymi pravy). Obdobne by se
to jiste dalo udelat treba v perlu ap.

BTW: Je potreba pocitat s divergenci prislusnych cilovych filesystemu
     (mohou se prichozi postou preplnit).
--
Lubos Kaspar


Další informace o konferenci Sendmail