PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Exim Problem : gesamte Mail übergeben



TheSpecialist
20.02.03, 10:39
Hi,

Ich habe folgendes Problem,
Ich möchte automatisch meine Emails mit gpg entschlüsseln.

Mein Problem ist nun, dass eine eingehende Email ja erst an munpack übergeben werden müsste und dannach die Ausgabe an ein PGP script

Wie kann ich die gesamte Email an munpack übergeben.
Ich habe es mit einem queryrouter versucht in dem ich munpack über ein shell Script aufgerufen habe und ihm als Datei den Header und den Body der Mail übergeben habe, leider reicht dies scheinbar nicht :( denn es kommt die Fehlermeldung munpack didn't find anything to unpack.

ich habe auch die message_body_visible Option auf 10000 Zeichen gesetzt, so dass auch wirklich der gesamte Body übergeben wird.

Wer kann mir helfen?
Vielen Dank schon mal im Vorraus.

Jorge
20.02.03, 11:03
Das entschlüsseln von verschlüsselten E-Mail ist Aufgabe des jeweils verwendeten E-Mail Clients und nicht Aufgabe des verwendeten MTA's (Exim).

TheSpecialist
20.02.03, 11:15
Jo ich weiß!
Aber es geht hierbei um eine automatisation, es geht mir nicht um das verschlüsseln / entschlüsseln (dafür habe ich java Programme geschrieben) sondern nur, wie ich die gesamte Email von Exim an munpack übergeben kann!
Da gibt es doch bestimmt eine möglichkeit die gesamte Email an ein Programm zu übergen.

Jasper
20.02.03, 13:05
Original geschrieben von TheSpecialist
Jo ich weiß!
Aber es geht hierbei um eine automatisation, es geht mir nicht um das verschlüsseln / entschlüsseln (dafür habe ich java Programme geschrieben) sondern nur, wie ich die gesamte Email von Exim an munpack übergeben kann!
Da gibt es doch bestimmt eine möglichkeit die gesamte Email an ein Programm zu übergen.

dafür ist tranport 'pipe' zuständig:

my_pipe:
driver = pipe
command = /path/to/program params
...

-j

TheSpecialist
20.02.03, 14:17
Leider geht dass nicht :(

im Shell Script steht:


echo $@ > /home/test/echo.log

in den Routern :


amir:
driver = accept
check_local_user
transport = amir_trans

Im Transport:


amir_trans:
driver = pipe
command = /home/test/gpgVer.sh

Jasper
20.02.03, 14:57
Original geschrieben von TheSpecialist
Leider geht dass nicht :(


glaub mir, das geht. per pipe wird sehr häufig die mail an procmail übergeben.
was geht nicht? kann skript nicht aufgerufen werden oder kannst du die mail nicht per stdin lesen? irgendwelche fehlermeldungen?

-j

TheSpecialist
20.02.03, 15:02
locking /var/spool/exim/db/retry.lockfile
home=//ami100/test$ current=//ami100/test$
amir_trans transport entered
direct command:
argv[0] = /home/test/gpgVer.sh
direct command after expansion:
argv[0] = /home/test/gpgVer.sh
Writing message to pipe
writing data block fd=8 size=60 timeout=3600
writing error 32: Broken pipe
transport error EPIPE ignored
amir_trans transport yielded 2
amir_trans transport returned FAIL for alsbih@ami127.mi.ukl.uni-freiburg.de
post-process alsbih@ami127.mi.ukl.uni-freiburg.de (2)
LOG: MAIN

Und im File
/home/test/echo.log
steht auch nichts drin:(

Vielen Dank für eure Hilfe

Jasper
20.02.03, 15:24
Original geschrieben von TheSpecialist
locking /var/spool/exim/db/retry.lockfile
home=//ami100/test$ current=//ami100/test$
amir_trans transport entered
direct command:
argv[0] = /home/test/gpgVer.sh
direct command after expansion:
argv[0] = /home/test/gpgVer.sh
Writing message to pipe
writing data block fd=8 size=60 timeout=3600
writing error 32: Broken pipe
transport error EPIPE ignored
amir_trans transport yielded 2
amir_trans transport returned FAIL for alsbih@ami127.mi.ukl.uni-freiburg.de
post-process alsbih@ami127.mi.ukl.uni-freiburg.de (2)
LOG: MAIN

Und im File
/home/test/echo.log
steht auch nichts drin:(

Vielen Dank für eure Hilfe

der fehler ist in /home/test/gpgVer.sh. wie sieht das skript aus?

-j

TheSpecialist
20.02.03, 15:37
#!/bin/sh.exe

echo $@ > /home/test/echo.log
#/usr/home/mpack/munpack -C /home/test e
/usr/home/mpack/munpack -C /home/test <
#$*>/home/test/mpack.log
# echo $@
# echo $@ > /home/test/echo.log

Jasper
20.02.03, 15:41
Original geschrieben von TheSpecialist
#!/bin/sh.exe

echo $@ > /home/test/echo.log
#/usr/home/mpack/munpack -C /home/test e
/usr/home/mpack/munpack -C /home/test <
#$*>/home/test/mpack.log
# echo $@
# echo $@ > /home/test/echo.log

??? damit willst du von stdin lesen? hast du das schon mal von einer shell aus getestet?

versuch mal 'cat | /usr/home/mpack/munpack -C /home/test'

-j

TheSpecialist
20.02.03, 15:49
Vielen Vielen Dank!
So geht es !!!!