PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mit script FROM feld auslesen



29-12-2000, 08:58
morgen
ich hab ein script das ausgeführt wird wenn eine mail an eine bestimmte mailadresse kommt...

in dem script wird die uptime ermittelt und dann mit dem "mail" befehl verschickt.

momentan bekomm ichs als sms.. möchte aber das er die uptime dorthin schickt woher die anfrage kommt..

also kurz gsagt an den absender

jetzt kann ich mit
formail -X From:
den absender auslesen, nur wie bring ich das in das "mail" commando mit ein ?

hat wer ne idee ?

29-12-2000, 11:11
Hallo!

In einem Bash Script kannst Du die Ausgabe eines Kommandos einer Variablen zuweisen. Fuer ein einfaches ls sieht das z.B. so aus:

dirContent=$(ls)

Wenn Du dann den Inhalt spaeter verwenden moechtest, geht das dann wie immer, z.B. in einem echo:

echo $dirContent

Vielleicht kannst Du ja die Ausgabe, d.h. den extrahierten Inhalt des From-Feldes auf diese Weise in eine Variable schreiben und dann im Aufruf von mail verwenden, wie ich es hier am Beispiel von echo gezeigt habe.

Beste Gruesse,
Oliver

29-12-2000, 11:43
das funktioniert super !

jetzt hab ich nur noch ein kleines problem mit formail


denn der from header schaut so aus

Nachname, Vorname [vorname.nachname@meinefirma.com]

jetz schickt er ne mail an
nachname,
an vorname
und an vorname.nachname@meinefirma.com
das muss ich ihm noch ausreden http://www.linuxforen.de/ubb/smile.gif

danke aber

nico

[Dieser Beitrag wurde von airboy am 29. Dezember 2000 editiert.]

29-12-2000, 13:07
Hallo!

Dann extrahiere doch das Headerfeld "Return-Path:" anstelle des "From:" - da steht meines Wissens nur die reine Antwortadresse drin (evtl. mit < und > eingeschlossen).

Beste Gruesse,
Oliver

29-12-2000, 14:06
hm..

wenn ich das eingeb so startet das script überhaupt nicht..

und aus der man page werd ich auch nicht wirklich schlau

momentan schaut es so aus
back=$(formail Return-Path :)
uptime > /etc/uptime.sms
mail -s "current uptime on kurios.at" $back < /etc/uptime.sms
echo "" > /etc/uptime.sms

nachtrag: habs natürlich auch probiert mit
formail -X Return-Path:
und mit klein x

[Dieser Beitrag wurde von airboy am 29. Dezember 2000 editiert.]

29-12-2000, 17:13
<BLOCKQUOTE><font size="1" face="Arial,Helvetica,Geneva">Zitat:</font><HR>Original erstellt von airboy:
back=$(formail Return-Path :)
[/quote]

Hallo!

Dann schau doch einmal nach, ob es mit
back=$(formail -x "Reply-To:")
besser funktioniert.
Voraussetzung ist natuerlich, dass das Reply-To: Feld in Deinem Feld auch einen entsprechenden Wert besitzt.

Beste Gruesse,
Oliver

29-12-2000, 17:42
Hi

sorry, deine "voraussetzung" kapier ich nicht ganz.

habe aber jetzt deinen tipp eingetragen, aber wie auch vorher seh ich im maillo

To=|/etc/u2s

und dort hoerts auf und die mail is weg

nico

29-12-2000, 18:04
<BLOCKQUOTE><font size="1" face="Arial,Helvetica,Geneva">Zitat:</font><HR>Original erstellt von airboy:
To=|/etc/u2s[/quote]

Hmm - dann lass' Dir doch einmal mit echo ausdrucken, was der formail-Aufruf zurueckliefert. Wenn der schon diesen merkwuerdigen Pfad liefert, dann liegt der Fehler an einer anderen Stelle.

Mit der Voraussetzung meinte ich uebrigens, dass Du Dir vielleicht auch einmal die E-Mail Headerfelder ansiehst, bevor Du die Mail durch das Script jagst - vielleicht ist da ja bereits etwas im argen?!

Beste Gruesse,
Oliver

P.S: Wenn Du moechtest, kannst Du mir das ganze Zeugs auch einmal in ein Archiv packen und mailen.

29-12-2000, 18:14
hi

der pfad ist nicht komisch :)

die u2s ist das script
soll heissen "uptime to sms"

aber nehme dein angebot gerne an mit dem mailen

nico