Hallo zusammen!
Hatte bisher noch nicht viel mit Bash-Programmierung zu tun, weshalb ich bei folgendem Problem schon an meine Grenzen stoße:
Das Script sendit.sh aus dem sqwebmail-Paket des Courier-MTA nimmt Mails vom Web-Frontend entgegen und reicht diese an den MTA weiter. Ich möchte nun aus dem über die Standardeingabe kommenden Mail-Body den From: Header auslesen und die darin enthaltene Mail-Adresse als Parameter an sendmail weitergeben.
Im Original enthält sendit.sh nur die folgende Zeile:
Mittels folgendem Code habe ich es auch geschafft, schonmal die passende Zeile aus dem Header zu fischen:
Über cut -b 7- konnte ich daraus auch die E-Mail-Adresse extrahieren, aber ich habe es nicht geschafft, alles so in das Script zu packen, dass ich am Schluss die Adresse in einer Variable hab und an sendmail übergeben kann. Folgender Versuch hat nicht zum gewünschten Ergebnis geführt:
Die Variable from war anschließend leer 
Wie krieg ich es also hin, aus dem stdin eine Zeile rauszusuchen und einen bestimmten Teil davon in einer Variablen zu speichern?
Ich hoffe, man versteht mich
Liebe Grüße,
MrToiz
Hatte bisher noch nicht viel mit Bash-Programmierung zu tun, weshalb ich bei folgendem Problem schon an meine Grenzen stoße:
Das Script sendit.sh aus dem sqwebmail-Paket des Courier-MTA nimmt Mails vom Web-Frontend entgegen und reicht diese an den MTA weiter. Ich möchte nun aus dem über die Standardeingabe kommenden Mail-Body den From: Header auslesen und die darin enthaltene Mail-Adresse als Parameter an sendmail weitergeben.
Im Original enthält sendit.sh nur die folgende Zeile:
Code:
exec /usr/sbin/sendmail -oi -t $DSN -f "$1"
Code:
read mailbody
grep From: < $mailbody > /home/mrtoiz/from.txt
Code:
from=`grep From: < $mailbody | cut -b 7-`
Wie krieg ich es also hin, aus dem stdin eine Zeile rauszusuchen und einen bestimmten Teil davon in einer Variablen zu speichern?
Ich hoffe, man versteht mich
Liebe Grüße,
MrToiz