← Back to team overview

sslug-teknik team mailing list archive

Re: udføre kommando når mail ankommer ?

 

"Hans-Henrik Andresen" <hha@xxxxxxxxxx> writes:

> Kan jeg få LIDT mere hjælp ?
>
> Jeg har indsat følgende i min .procmailrc
>
> :0
> *^Subject: hha
> |/home/hha/test.sh
>
>
> og test.sh ser således ud
>
> echo "$*" > /home/hha/out.txt
>
> Når der kommer en mail kan jeg se scriptet bliver kørt for out.txt skifter
> timestamp, men er tom

Det er fordi indholdet af mailen bliver sendt til dit script via
stdin og den fanger echo ikke med $*.

Dit script skal i stedet se sådan ud:

cat > /home/hha/out.txt

Hvis det er det eneste du ønsker at opnå er der ingen grund til at
køre et script. Så kan du lige så vel lade Procmail selv skrive
mailen til filen med:

:0
*^Subject: hha
/home/hha/out.txt

Hvis du skal have en mere fuldstændig løsning på dit oprindelige
spørgsmål må Procmailreglen være noget i stil med:

:0B
* ^Subject: Tænd lyset
* ^Tænd lyset i rum 12
| tændlys.sh 12

Jeg ville dog undgå æ, ø og å i mailen for at komme uden om problemer
med tegnsæt. Og så ville jeg flytte hele kommandoen op i subject.

:0
* ^Subject: Taend lyset i rum 12
| taendlys.sh 12

Der er flere gode man-sider til procmail -- procmail(1),
procmailrc(5), procmailsc(5) og procmailex(5). De skulle nok kunne
give flere svar og ideer.

mvh
        /arne
-- 
Arne Jørgensen
Valby Langgade 272, 1. tv., 2500 Valby
tlf: 36 44 18 03, mobil: 21 65 01 13
e-post: arne@xxxxxxxxxxx, <http://arnested.dk/>


References