Hallo Hermann,
Du scheinst auch von der Sorte zu sein, die gerne ihre eigenen kreativen Ideen haben und sich wenig sagen lassen, WIE GENAU man etwas umsetzt.
Naja, ganz so ist es nicht. Ich hatte die Mail zuerst mit "/Content-Type\: text\/html/,/Content-Type\: text\/plain/d" extra abgespeichert, also nur den Textteil ohne den HTML-Teil. Den HTML-Teil aus der "gemischten" Mail hatte ich ganz weggelassen, denn ich dachte mir, wenn ich in einer gemischten Mail den Textteil bekommen kann, brauche ich den HTML-Teil nicht mehr.
Weiter dachte ich mir, bei einer "Nur-HTML-Mail" brauche ich nix trennen, sondern nur den Text ohne die HTML-Tags. Eine "Nur-Text-Mail" läßt sich am einfachsten darstellen. - Als ich das durchexterziert hatte, jede Mailart in eine seperate "Zwischendatei" abzuspeichern, um sie dann weiterzubearbeiten, erkannte ich, daß ich alle sed-Befehle in eine einzige sed-Datei (maillog.sed) schreiben kann, damit jede Mailart bearbeitet werden kann. Weiter erkannte ich, daß ich eigentlich keine extra "Zwischendatei" pro Mailart (Nur-Text, Nur-HTML oder gemischte Mail) benötige, wenn ich nur den Textteil der gemischten Mail brauche. Die Folgebefehle mit sed sind dann ja gleich und gelten für alle drei Möglichkeiten. Aaalso, ich hab schon auf Dich gehört und erstmal alle Mailarten in extra Dateien geschrieben...
Warum steht bei dir in allen Beispielen Rudi-Editor? Oder machst du deine Experimente immer noch mit dem Web-Basierten Editor im Browser?
Hast mich erwischt! Ich nutze tatsächlich den Rudi-Editor, um meine Änderungen in der maillog.sed zu machen. Allerdings kopiere ich den Text nur dort hin, den ich zuvor in OpenOffice geschrieben/bearbeitet habe.
Es wird langsam Zeit, dass du dir überlegst, wie du dich auf eine andere Art und Weise mit der Box verbindest.Wenn du von Windows aus arbeitest, würde ich dir dafür WinSCP empfehlen.
Danke Dir für den Hinweis, der Vorschlag gefällt mir. Das versuche ich nachher mal. Ich hab heute Morgen schon probiert, hab aber noch keine Verbindung hinbekommen.
Außerdem solltest du dir überlegen, wo du deine Experimente auf der Box durchführst. Die meisten Bereiche/Verzeichnisse liegen im RAM und können eigentlich gut beschrieben werden. Was auf jeden Fall im RAM liegt sind /tmp und /mod. In den Verzeichnissen kannst du dich mit deinen Experimenten breit machen. Kleine Sachen laufen im RAM am besten und am schnellsten, du musst aber bedenken, dass alles nur bis zum nächsten Reboot lebt. Wenn du etwas permanent speichern willst, musst du auf USB-Medien ausweichen.
Ja, zur Zeit nutze ich noch den Ram-Bereich in /mod/etc/. Ich trage mich auf jeden Fall mit dem Gedanken, den USB-Speicher dafür zu nutzen, damit nach einem Neustart nicht wieder alles wech ist. Dort hab ich nur die maillog.sed, die maillog.body und die maillog.neu. Die maillog.body in /mod/etc/ werde ich dann nicht mehr benötigen, wenn alles richtig läuft, dann spare ich mir den Schritt
[FONT=Verdana, sans-serif]"cp
/var/tmp/maillog.body
/mod/etc/maillog.body[/FONT]" in der maillog.cfg und ändere die Zeile
[FONT=Verdana, sans-serif]
"sed -n -f /mod/etc/maillog.sed /mod/etc/maillog.body > /mod/etc/maillog.neu" in [/FONT]
[FONT=Verdana, sans-serif]
[FONT=Verdana, sans-serif]"sed -n -f /mod/etc/maillog.sed /var/tmp/maillog.body > /mod/etc/maillog.neu" um.[/FONT]
[/FONT]
Glaub mir, wenn du mit einer richtigen Konsole und einer SCP-Verbindung anstatt mit Rudi-Shell arbeitest, wird sich deine Arbeit deutlich effizienter gestalten und letztendlich noch mehr Spass machen als jetzt.
Das glaube ich Dir sofort! Es macht ja jetzt schon Spaß, aber dann wird es noch mehr werden!
Ich hab beobachtet, daß etwas von UTF-8 dasteht, wenn ich die Nachricht in putty zum TV schicke:
[FONT=Verdana, sans-serif]/var/mod/etc # cat /mod/etc/maillog.neu | callaction samsung_text 192.168.178.9[/FONT]
[FONT=Verdana, sans-serif]HTTP/1.1 200 OK[/FONT]
[FONT=Verdana, sans-serif]CONTENT-LENGTH: 255[/FONT]
[FONT=Verdana, sans-serif]CONTENT-TYPE: text/xml; charset="utf-8"[/FONT]
[FONT=Verdana, sans-serif]DATE: Thu, 01 Jan 1970 06:19:55 GMT[/FONT]
[FONT=Verdana, sans-serif]EXT:[/FONT]
[FONT=Verdana, sans-serif]SERVER: Linux/9.0 UPnP/1.0 PROTOTYPE/1.0[/FONT]
[FONT=Verdana, sans-serif]<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:AddMessageResponse xmlns:u="urn:samsung.com:service:MessageBoxService:1"></u:AddMessageResponse></s:Body></s:Envelope>[/FONT]
[FONT=Verdana, sans-serif]/var/mod/etc #[/FONT]
Daraus schließe ich, daß "irgendwo" festgelegt wird, wie die Nachricht für den TV zusammengebaut und
charset="utf-8" definiert wird. Weiter hab ich festgestellt, daß Mails, die im utf-8-Format versandt wurden, mit richtig dargestellten Umlauten am TV ankommen. Nun hatte ich nach etwas gesucht/gegoogelt, was mir den Text aus der maillog.body auf jeden Fall irgendwie ins utf-8-Format umwandelt. Leider bin ich bisher noch nicht fündig geworden. Ich habe aber herausgefunden, wie die Zeichen aussehen und hab sie erstmal so eingebaut. Meine maillog.sed sieht jetzt so aus:
Code:
## Rudi-Editor
## Bitte umgebende Zeilen NICHT löschen ('cat > ...', 'RUDI_EOF')
cat > /mod/etc/maillog.sed << 'RUDI_EOF'
#####################################################################
# Neue Mail für Ausgabe an TV umwandeln * mit sed-script #
#####################################################################
/Content-Type\: text\/html/,/Content-Type\: text\/plain/d # Ausgabe der Datei, AUSSER dem Teil, der zwischen den regulären Ausdrücken ist
{/^* [0-9] FETCH/d;} # löscht die Zeile, aber nur wenn sie mit '* [0-9] FETCH' beginnt
{/^Content-/d;} # Löscht vom Mailbody alle Zeilen mit "Content-" am Anfang.
{/^This is a multi-part message in MIME format./d;}
{/<meta content=/,/http-equiv=/d;} # Löscht diese beiden Zeilen
{/^------/d;} # Löscht das boundary
/~~~~~~/,/* [0-9] FETCH/d # Ausgabe der Datei, AUSSER dem Teil, der zwischen den regulären Ausdrücken ist
{/^=3D=3D*/d;} # Lösche
{/^)/,/^? OK FETCH finished./d;} # löscht die beiden letzten Zeilen, aber nur, wenn '")" und "? OK FETCH finished."' enthalten sind.
: a #Sprungziel für nochmaligen Durchlauf
/\=/N; s/\\\n//; ta; # Falls eine Zeile mit einem Istgleichzeichen "=" #endet, füge die nächste Zeile hinzu.
{/http\:.*$/d;}:a # http: löschen
s/<[^>]*>//g;/</N;//:a # alle http-Links löschen (Ich benötige sie nicht am TV)
s/^[ \t]*//;s/[ \t]*$//;:a # Lösche unsichtbare Zeichen sowohl am Anfang als auch am Ende jeder Zeile
[COLOR=blue]s/=E4/ä/g; s/=C4/Ä/g; s/=F6/ö/g; s/=D6/Ö/g; s/=FC/ü/g; s/=DC/ý/g; s/=DF/þ/g; s/=2E/:/g; s/=21/!/g; s/=3D/=/g; s/=95/*/g; s/=A0/ /g; s/ä/ä/g; s/ö/ö/g; s/ü/ü/g; s/Ä/Ä/g; s/Ö/Ö/g; s/Ü/ý/g; s/ß/þ/g; s/¤/€/g; s/§/§/g;[/COLOR] # Umlaute und andere Zeichen richtig darstellen, wenn sonst z. B. =E4 im Text stünde. Es wird nun zu ä.
p;
#chmod +x /mod/etc/maillog.sed
#modsave all
RUDI_EOF
Damit sieht erstmal jede Nachricht am TV gut aus, also mit richtigem ä, Ä, ö ,Ö, ü, Ü, ß
Ich suche weiter...