[Gelöst] Mit checkmaild E-Mail-Inhalt auf Samsung-TV anzeigen?

Hallo zusammen,
1. Um eine Verbindung mit WinSCP zu bekommen, musst du als Modus SCP wählen. Dann musst du irgendwo in den Einstellungen deaktivieren, dass Gruppen aufgelistet werden. Sonst wirst du mit den Warnmeldungen bei jedem Start genervt.
und danke Hermann, das war der richtige Wink - jetzt funzt es auch mit WinSCP und dropbear. :D

Ich habe in Changeset #6628 ripmime aufgenommen, mitsamt Auslagern auf external. Momentan wird die älteste Version genommen, die ich gefunden habe, das macht ca. 50kB aus.
Oh fein, danke Ralf! :) Dann probiere ich das morgen gleich aus. :D

Ich finde es schön, daß Ihr mir so toll helft! Ohne Eure Hilfe wäre ich nie so schnell so weit gekommen. Dafür möchte ich an dieser Stelle schon einmal ein dickes Danke an Euch loswerden! :rosen: :rosen: :rosen:
 
Wenn ripmime schon freundlicherweise durch Ralf ins Trunk eingecheckt ist, kannst du natürlich damit ausprobieren, Bibie. Ich würde dir aber dennoch empfehlen deine sed-Variante zu verfolgen und zwar genau wegen dieser 100kB. Und das sind keine Äpfel und Birnen, Oliver: Da mal 100kB, da wieder 50kB, .... so kommt alles zusammen. Außerdem, wenn danach daraus ein Paket sein sollte, dann ist die Abhängigkeit von ripmime bereits vorprogrammiert. Wenn man sie mit einfachen Mitteln vermeiden könnte, sollte man dies tun.

MfG
 
Ein Unterschied ist, daß man ripmime auslagern kann (und viele andere Programme auch) , während bei den Meisten die Erkennung des USB-Speichers vor dem Ansprechen von external kommt.
 
Hallo zusammen! :)

Ich habe heute erfolgreich ein Freetz-trunk (54.04.88freetz-devel-6629) mit ripMIME auf dem USB-Stick erstellt. :D

Jetzt stecke ich mit der Bedienung von "ripmime" fest. Ich habe zum Testen den Code in der maillog.sed, der für die Umlaute und Sonderzeichen zuständig war, erst einmal mit einem # "unbrauchbar" gemacht. Die maillog.cfg hab ich auch etwas verändert.
Code:
#!/bin/sh
#####################################################################
# CheckMailD-Event ($1=0): new mail #
#####################################################################
if [ "$1" = "0" ]
then
sleep 5
# Kopiere maillog.body [FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]und maillog.head [/SIZE][/FONT][/SIZE][/FONT][SIZE=1]von /var/tmp nach /mod/etc[/SIZE]
[FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]cp /var/tmp/maillog.head /mod/etc/maillog.head   # Hier stimmen die Umlaute auch noch nicht, das versuche ich noch zu ändern[/SIZE][/FONT]
[/SIZE][/FONT][SIZE=1]cp /var/tmp/maillog.body /mod/etc/maillog.body[/SIZE]
[SIZE=1]sleep 5[/SIZE]
[FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]# Bearbeite die maillog.body mit ripmime und speichere das Ergebnis in /var/media/ftp/Ut165-USB2FlashStorage-01/external/ripmails (auf USB)[/SIZE][/FONT]
[SIZE=1][FONT=Courier New][COLOR=green][B]/var/media/ftp/Ut165-USB2FlashStorage-01/external/ripmime -i /mod/etc/maillog.body -v -d /mod/etc/ripmails[/B][/COLOR] [/FONT][/SIZE]
[/SIZE][/FONT][SIZE=1]# Rufe maillog.sed auf, bearbeite maillog.body und kopiere Inhalt nach maillog.neu[/SIZE]
[SIZE=1]sed -n -f /mod/etc/maillog.sed /mod/etc/ripmails[/SIZE][FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]/textfile0[/SIZE][/FONT][/SIZE][/FONT][SIZE=1] > /mod/etc/maillog.neu[/SIZE]
[SIZE=1]sleep 5[/SIZE]
[SIZE=1]# Sende Inhalt von maillog.neu an TV[/SIZE]
[SIZE=1]cat /mod/etc/maillog.neu | callaction samsung_text 192.168.178.9[/SIZE]
[SIZE=1]echo "Am $6 um $7 Uhr schrieb $8: $9" | callaction samsung_text 192.168.178.9[/SIZE]
[SIZE=1]fi[/SIZE]
Code:
#####################################################################
# Neue Mail f[FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]ür Ausgabe an TV umwandeln * mit sed-script #[/SIZE][/FONT]
[SIZE=1][FONT=Courier New]#####################################################################[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/ä\|=C3=A4\|=E4\|+AOQ-/ä/g; # Umlaute und andere Zeichen[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/Ä\|=C3=84\|=C4\|+AMQ-/Ä/g; # richtig darstellen, wenn sonst [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/ö\|=C3=B6\|=F6\|+APY-/ö/g; # z. B. =E4 oder =C3=A4 oder +AOQ-[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/Ö\|=C3=96\|=D6\|+ANY-/Ö/g; # im Text stünde. Es wird nun zu[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/ü\|=C3=BC\|=FC\|+APw-/ü/g; # einem richtigen ä.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/Ü\|=C3=9C\|=DC\|+ANw-/ý/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/ß\|=C3=9F\|=DF\|+AN8-/þ/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/¤\|=E2=82=AC\|+AKQ-/€/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/+AEA-/@/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/=A9\|©/(C)/g; # Copyrhigt[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/=2E/:/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/=21/!/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/=3D/=/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/=95/*/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/=A0/ /g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]#s/§/§/g; # [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Content-Type\: text\/html;/,/Content-Type\: text\/plain;/d # Nimmt nur das, was zwischen "Content-Type: text/plain;" und "Content-Type: text/html" steht.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^* [0-9] FETCH/d;} # löscht die Zeile, aber nur wenn sie mit '* [0-9] FETCH' beginnt[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^Content-/d;} # Löscht vom Mailbody alle Zeilen mit "Content-" am Anfang.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^ charset\=/d;} # Löscht die Zeile mit "charset="[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^This is a multi-part message in MIME format./d;} # Löscht die Zeile mit "This is a multi-part message in MIME format."[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/<meta content=/,/http-equiv=/d;} # Löscht diese beiden Zeilen[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^---*/d;} # Löscht die Boundary, wenn sie am Zeilenanfang steht[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/boundary\="--*/d;} # Löscht die Boundary vom Mailanhang[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/~~~~~~/,/* [0-9] FETCH/d # Nimmt nur das, was zwischen "* [0-9] FETCH" und "~~~~~~" steht.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^)/,/^? OK FETCH finished./d;} # löscht die beiden letzten Zeilen, aber nur, wenn '")" und "? OK FETCH finished."' enthalten sind.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]: a #Sprungziel für nochmaligen Durchlauf [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/\=/N; s/\\\n//; ta; # Falls eine Zeile mit einem Istgleichzeichen "=" endet, füge die nächste Zeile hinzu.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^http\:.*$/d;}:a # alle http-Links am Zeilenanfang löschen (Ich benötige sie nicht am TV)[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/<[^>]*>//g;/</N;//:a # Lösche die HTML-Tags[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/^[ \t]*//;s/[ \t]*$//;:a # Lösche unsichtbare Zeichen sowohl am Anfang als auch am Ende jeder Zeile[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/./!d; $!P;$!D;:a # Lösche leere Zeilen[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]p;[/FONT][/SIZE]
[/SIZE][/FONT]
Zunächst wird die "maillog.body" von /var/tmp nach /mod/etc kopiert. Dann wird sie mit "ripmime" bearbeitet - die Ergebnisdatei heißt nun "textfile0". "textfile0" wird dann mit "maillog.sed" bearbeitet und schließlich als "maillog.neu" zum TV geschickt. Die beschriebenen Wege funktionieren schon einmal - aber ich weiß nicht, wie die grünmarkierte Zeile richtig heißen muß. So wie sie jetzt ist, kommen keine Umlaute im TV, obwohl in putty die Umlaute zu sehen sind. Das Format für den TV muß aber "UTF-8" sein.

Nun hab ich noch eine Frage zu "ripmime": Gehe ich recht in der Annahme, daß "ripmime" nur mime-codierte Texte umwandelt? Ich habe den Eindruck, als würden Nur-Text-Mails links liegen gelassen und nicht bearbeitet. :gruebel:
 
Zuletzt bearbeitet:
Bei meinem ripmime, das allerdings noch älter ist (1.2.4), kommt immer der Text nach textfile0, auch wenn es überhaupt keine MIME Email ist. Leider finde ich den Quelltext dafür nicht mehr.

Auch bei der aktuellen Version ist es so:
Code:
# /tmp/ripmime -i - -d /tmp/
Subject: Test

Text
# cat /tmp/textfile0
Text
Die Zeilen für die Umwandlung der Umlaute solltest Du drin lassen, ripmime ändert nichts an der Codierung der Daten.
 
Hallo Ralf,

Die Zeilen für die Umwandlung mache ich wieder hinein, ich wollte erst einmal sehen, was ripmime macht.

In textfile0 steht hier immer der Text der jeweils aktuellen Mail drinnen. Es werden aber keine Umlaute geschrieben, wenn vorher keine da waren, bzw. es wird nicht ins UTF-8-Format umgewandelt - und das bräuchte ich aber für den TV, denke ich. Ich hab mir vorhin zum Test eine Mail in UTF-7-Codierung mit "ä Ä ö Ö ü Ü ß @ ¤" im Text geschickt. Die Zeichen, die in "maillog.body" ankamen und in "textfile0" daraus wurden, sind "+AOQ- +AMQ- +APY- +ANY- +APw- +ANw- +AN8- +AEA- +AKw-" Daraus schlußfolgerte ich, daß ich irgendwo einen Fehler habe, weil der Text nicht in UTF-8 mit Umlauten umgewandelt wurde. :gruebel:

Ich kann ja in putty sehen, was passiert, wenn ich das einzeln eingebe:
/var/media/ftp/Ut165-USB2FlashStorage-01/external/ripmime -i /mod/etc/maillog.body -d /mod/etc/ripmails
sed -n -f /mod/etc/maillog.sed /mod/etc/ripmails/textfile0 > /mod/etc/maillog.neu
cat /var/mod/etc/ripmails/textfile0
cat /mod/etc/maillog.neu | callaction samsung_text 192.168.178.9
Da sieht der Text in textfile0 so aus, wie er in maillog.body ankommt. Ich hab noch keinen Unterschied sehen können...
 
Das Programm ripmime macht überhaupt keine Umwandlung zwischen verschiedenen Zeichensätzen.
Die Kodierung sollte es aber beachten. Vielleicht ist 7bit als Kodierung so ungewöhnlich, daß es nicht unterstützt wird. Womit hast Du denn überhaupt so eine Email erstellt?
 
Hallo Ralf,

ich hatte die E-Mail mit UTF-7-Codierung in Windows-Mail erstellt. Es geht nicht nur die Codierung in UTF-7. Z. B. die Mails, die vom Forum versandt werden, kommen als Nur-Text-Mails an, sie werden auch nicht in das benötigte UTF-8 gewandelt. Die Anzeige hört dann immer beim ersten Umlaut im Text auf, wenn ich ripmime benutze und meine "Umlautumwandeleien" mit einem # in der "maillog.sed" ausschalte.

Ich hab mir Gestern zum Test nachmal Mails mit Thunderbird und mit Windows-Mail geschickt, die die UTF-8-Codierung hatten. Sie wurden fehlerfrei am TV angezeigt, obwohl meine "Umlautumwandeleien" noch ausgeschalten waren. In anderen Codierungsformaten hörte der Text beim nächsten Umlaut auf, in putty konnte ich aber sehen, daß die Mails vollständig und oft lesbar waren, also mit Umlauten.


Mails, die ich in Windodws-Mail oder Thunderbird erstellt habe, die eine andere Codierung als UTF-8 haben, werden mit ripmime nicht so bearbeitet, daß die Umlaute dann richtig am TV angezeigt werden könnten. Der TV benötigt wohl unbedingt UTF-8...
 
Es gibt bei der Übermittlung von Emails zwei Aspekte:
Email war ursprünglich nur für ASCII-Text definiert. Wie kann man trotzdem Werte außerhalb des ASCII-Bereichs übertragen?
Dafür ist das Content-Transfer-Encoding da. Mögliche Werte sind:
  • 7bit: Text ASCII, Zeilenlänge begrenzt.
  • 8bit: Text 8bit, Zeilenlänge begrenzt.
  • binary: beliebige Binärdaten.
  • quoted-printable: Kodierung von binary nach 7bit, gebräuchlich für Texte
  • base64: Kodierung von binary nach 7bit, gebräuchlich für beliebige Daten.
ripmime führt eine Dekodierung von quoted-printable und base64 durch. 7bit und 8bit sind keine Kodierungen, sondern Aussagen darüber, welche Daten in der Email vorkommen können.

Davon unabhängig ist der Parameter charset, der bei Content-Type angegeben werden kann. Damit wird die Zuordnung von den gesendeten Daten zu Zeichen festgelegt. ripmime ändert nichts am Inhalt der einzelnen Mail-Teile, es führt also keine Umkodierung nach UTF-8 oder ähnliches aus.
 
Ralf, ich danke Dir für Deine genauere Erklärung, ich glaube, jetzt begreife ich das so langsam. :smile:

7bit und 8bit sind keine Kodierungen, sondern Aussagen darüber, welche Daten in der Email vorkommen können.


Da war ich wahrscheinlich durcheinander gekommen und hatte angenommen, daß z. B. Unicode ( UTF-7 ) eine Codierung sei...

 

Anhänge

  • neue Nachricht mit Windows-Mail.jpg
    neue Nachricht mit Windows-Mail.jpg
    175 KB · Aufrufe: 15
Zuletzt bearbeitet:
Der Begriff Kodierung kann letztlich für beides verwendet werden, für Content-Transfer-Encoding und für charset.
UTF-7 und UTF-8 sind verschiedene Varianten, um Unicode Zeichen darzustellen, wobei ich nicht gedacht hätte, daß UTF-7 viel verwendet wird, außer bei Ordner-Namen von IMAP-Servern.
Wie bereits geschrieben, extrahiert ripmime nur die verschiedenen Teile einer Email und speichert sie ab, leider auch ohne die Header-Angaben zum Zeichensatz, und erst recht wird der Zeichensatz nicht umgewandelt.
 
Danke für die Aufklärung, Ralf! :D

Sooo, ich hab am Wochenende noch etwas weitergetüftelt, weil "ß", Umlaute oder Sonderzeichen (@, ¤) in Überschriften ebenfalls nicht richtig zum TV übertragen wurden.

Die "mailloghead.sed" sieht so aus:
Code:
[FONT=Courier New]#####################################################################[/FONT]
# Mailkopf f[FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]ür Ausgabe an TV umwandeln * mit sed-script               #[/SIZE][/FONT]
[SIZE=1][FONT=Courier New]#####################################################################[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^* [0-9][0-9]* FETCH/d;}; # löscht die Zeile, aber nur wenn sie mit '* [0-9] FETCH' beginnt[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^)/,/^? OK FETCH finished./d;} # löscht die beiden letzten Zeilen, aber nur, wenn '")" und "? OK FETCH finished."' enthalten sind.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/^ //;[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/^[ \t]*//; s/[ \t]*$//; # Löscht unsichtbare Zeichen am Anfang und am Ende einer Zeile[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=?utf-8?Q?//g; [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/_/ /g; [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/?=/ /g;[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/From: /Die Nachricht von /g;[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/Subject: /-----\n/g; [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/Date: /versandt am: \n/[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/ä\|=C3=A4\|=E4\|+AOQ-/ä/g; # Umlaute und andere Zeichen[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/Ä\|=C3=84\|=C4\|+AMQ-/Ä/g; # richtig darstellen, wenn sonst [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/ö\|=C3=B6\|=F6\|+APY-/ö/g; # z. B. =E4 oder =C3=A4 oder +AOQ-[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/Ö\|=C3=96\|=D6\|+ANY-/Ã-/g; # im Text stünde. Es wird nun zu[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/ü\|=C3=BC\|=FC\|+APw-/ü/g; # einem richtigen ä.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/Ü\|=C3=9C\|=DC\|+ANw-/ý/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/ß\|=C3=9F\|=DF\|+AN8-/þ/g; # [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/¤\|=20AC\|=E2=82=AC\|+AKQ-\|+IKw-/€/g; # EURO[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=40\|+AEA-/@/g; # at[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=2C/,/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=A9\|©/(C)/g; # Copyrhigt[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=03A\|=2E/:/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=21\|+ACE-/!/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=3D/=/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=02A\|=95/*/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=20\|=A0/ /g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/§/§/g; # [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=27/'/g; # '[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=60\|=E8\|´/`/g; # ` Akzent grave[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/<[^>]*>//g;/</N;//:a # Lösche die HTML-Tags[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]p;[/FONT][/SIZE]
[/SIZE][/FONT]
Die "maillog.sed" für den Mailinhalt sieht jetzt so aus:
Code:
[FONT=Courier New]#####################################################################[/FONT]
# Mailbody f[FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]ür Ausgabe an TV umwandeln * mit sed-script               #[/SIZE][/FONT]
[SIZE=1][FONT=Courier New]#####################################################################[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/ä\|=C3=A4\|=E4\|+AOQ-/ä/g; # Umlaute und andere Zeichen[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/Ä\|=C3=84\|=C4\|+AMQ-/Ä/g; # richtig darstellen, wenn sonst [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/ö\|=C3=B6\|=F6\|+APY-/ö/g; # z. B. =E4 oder =C3=A4 oder +AOQ-[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/Ö\|=C3=96\|=D6\|+ANY-/Ö/g; # im Text stünde. Es wird nun zu[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/ü\|=C3=BC\|=FC\|+APw-/ü/g; # einem richtigen ä.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/Ü\|=C3=9C\|=DC\|+ANw-/ý/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/ß\|=C3=9F\|=DF\|+AN8-/þ/g; # [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/¤\|=20AC\|=E2=82=AC\|+AKQ-\|+IKw-/€/g; # EURO[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=40\|+AEA-/@/g; # at[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=A9\|©/(C)/g; # Copyrhigt[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=03A\|=2E/:/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=21\|+ACE-/!/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=3D/=/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=02A\|=95/*/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=20\|=A0/ /g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/§/§/g; # [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/=60\|=E8\|´/`/g; # ` Akzent grave[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Content-Type\: text\/html;/,/Content-Type\: text\/plain;/d # Nimmt nur das, was zwischen "Content-Type: text/plain;" und "Content-Type: text/html" steht.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^* [0-9][0-9]* FETCH/d;} # löscht die Zeile, aber nur wenn sie mit '* [0-9] FETCH' beginnt[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^Content-/d;} # Löscht vom Mailbody alle Zeilen mit "Content-" am Anfang.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^ charset\=/d;} # Löscht die Zeile mit "charset="[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^This is a multi-part message in MIME format./d;} # Löscht die Zeile mit "This is a multi-part message in MIME format."[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/<meta content=/,/http-equiv=/d;} # Löscht diese beiden Zeilen[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^---*/d;} # Löscht die Boundary, wenn sie am Zeilenanfang steht[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/boundary\=*/d;} # Löscht die Boundary vom Mailanhang[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/~~~~~~/,/* [0-9] FETCH/d # Nimmt nur das, was zwischen "* [0-9] FETCH" und "~~~~~~" steht.[/FONT][/SIZE]
 
[SIZE=1][FONT=Courier New]{/^)/,/^? OK FETCH finished./d;} # löscht die beiden letzten Zeilen, aber nur, wenn '")" und "? OK FETCH finished."' enthalten sind.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]: a #Sprungziel für nochmaligen Durchlauf [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/\=/N; s/\\\n//; ta; # Falls eine Zeile mit einem Istgleichzeichen "=" endet, füge die nächste Zeile hinzu.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]{/^http\:.*$/d;}:a # alle http-Links am Zeilenanfang löschen (Ich benötige sie nicht am TV)[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/<[^>]*>//g;/</N;//:a # Lösche die HTML-Tags[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]s/^[ \t]*//;s/[ \t]*$//;:a # Lösche unsichtbare Zeichen sowohl am Anfang als auch am Ende jeder Zeile[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/./!d; $!P;$!D;:a # Lösche leere Zeilen[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]p;[/FONT][/SIZE]
[/SIZE][/FONT]
Und zu guter letzt sieht die "maillog.cfg" nun so aus:
Code:
#!/bin/sh
#####################################################################
# CheckMailD-Event ($1=0): new mail #
#####################################################################
if [ "$1" = "0" ]
then
sleep 5
# Kopiere maillog.head und maillog.body von /var/tmp nach /mod/etc
cp /var/tmp/maillog.body /mod/etc/maillog.body 
cp /var/tmp/maillog.head /mod/etc/maillog.head
# Bearbeite email-[FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]Body[/SIZE][/FONT][/SIZE][/FONT][SIZE=1] mit ripmime und mit maillog.sed[/SIZE]
[FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]/var/media/ftp/Ut165-USB2FlashStorage-01/external/ripmime -i /mod/etc/maillog.body -v -d /mod/etc/ripmails[/SIZE][/FONT]
[/SIZE][/FONT][SIZE=1]sed -n -f /mod/etc/maillog.sed /mod/etc/ripmails/textfile0 > /mod/etc/maillog.neu[/SIZE]
[FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]# Bearbeite email-Kopf mit mailloghead.sed[/SIZE][/FONT]
[/SIZE][/FONT][SIZE=1]sed -n -f /mod/etc/mailloghead.sed /mod/etc/maillog.head > /mod/etc/mailloghead.[/SIZE][FONT=Courier New][SIZE=1][FONT=Courier New][SIZE=1]neu[/SIZE][/FONT]
[/SIZE][/FONT][SIZE=1]# Schicke Nachrichten an Samsung-TV[/SIZE]
[SIZE=1]cat /mod/etc/maillog.neu | callaction samsung_text 192.168.178.9[/SIZE]
[SIZE=1]cat /mod/etc/mailloghead.neu | callaction samsung_text 192.168.178.9 [/SIZE]
[SIZE=1]fi[/SIZE]
Soweit funktioniert es schon ganz gut. Ich weiß nur noch nicht, wo ich die maillog.cfg, die maillog.sed und die mailloghead.sed hinpacken muß, damit nach einem Neustart der FB nicht immer alles gelöscht ist. Die maillog.sed und die mailloghead.sed könnte ich auf den USB-Stick packen und den Pfad in der maillog.cfg entsprechend anpassen. Ich weiß aber nicht, ob ich die maillog.cfg auch dorthin packen kann und sie dann von Freetz ausgeführt wird...
 
Zuletzt bearbeitet:
Ich hab meinen Thread auf [gelöst] gesetzt... :)

Ich hab nun herausgefunden, wie ich das machen muß, damit nach einem Neustart der FB die "maillog.cfg", die "maillog.sed" sowie die "mailloghead.sed" wieder im Ordner /mod/etc/ vorhanden sind. Dafür hab ich in der Freetz-Oberfläche unter Freetz - .rc-custom folgende Sachen eingetragen und mit "Übernehmen" bestätigt:

Code:
cat /var/media/ftp/Ut165-USB2FlashStorage-01/external/maillog.cfg > /mod/etc/maillog.cfg
cat /var/media/ftp/Ut165-USB2FlashStorage-01/external/maillog.sed > /mod/etc/maillog.sed
cat /var/media/ftp/Ut165-USB2FlashStorage-01/external/mailloghead.sed > /mod/etc/mailloghead.sed

Dadurch werden die Dateien von meinem USB-Stick zurück in den Ordner /mod/etc/ kopiert, sobald der Bootprozeß der FB beendet ist. :)

Ich möchte mich bei Euch allen an dieser Stelle noch einmal für die tolle Hilfe bedanken. Ohne Euch hätte ich das niemals hinbekommen! Danke. :D
 
Ideal wäre, wenn diese Sachen irgendwie in FREETZ einfließen würden. Sonst wird daraus wieder ein Kandidat fürs Verschwinden in den Tiefen von IPPF. Die meiste Arbeit hat Bibie schon geleistet. Jetzt gilt es nur genau zu überlegen wohin und wie man diese Geschichte einpflegen kann. Evtl. als eine der vielen Callations vom Callmonitor? Oder bei CheckmailD? Oder ganz separat? Oder machen wir eine Extra-Ecke auf in der wir alles hinein packen, was die Ansteuerung auf Fernseher und Co. angeht?
Auf jeden Fall wäre hier noch Einiges zu tun, damit diese Geschichte FREETZ-reif wird und keine Tricks mit rc.custom notwendig wären.

MfG
 
Zuerst mal bräuchte man ein Webinterface für die zwei maillog cfgs. Das sollte mit zwei einfach .def Dateien zu machen sein.

Gruß
Oliver
 
Hallöchen zusammen! :)

Im Freetz-Wiki unter "Anpassungen und Erweiterungen" ist ja ein schönes Beispiel für den komfortablen Aufruf des Mailkopfes für die Anzeige am Samsung. Anhand dieses Beispiels wollte ich gerne folgende Zeile in die "maillog.cfg" einfügen.

Code:
[FONT=Courier New][SIZE=1]echo "$8 schrieb am $6 um $7 Uhr folgende Nachricht: $9" | callaction samsung_text 192.168.178.9[/SIZE][/FONT]

Ich kann diese Zeile leider nicht benutzen, denn es werden damit keine Umlaute und Sonderzeichen im Betreff der ankommenden Mails am TV dargestellt. Der Text des Betreffs hört sonst einfach beim ersten Umlaut- oder Sonderzeichen auf und wird nicht weiter ausgegeben. Ich hatte dann versucht, die mit "mailloghead.sed" umgewandelte "mailloghead.neu" dafür zu nehmen (natürlich dann ohne Löschen der "überflüssigen" Teile, die ich nicht angezeigt haben möchte), hab das aber nicht hinbekommen. Es funktionierte ebenso nicht, als ich die "mailloghead.neu" nach "/var/tmp/maillog.head" kopieren ließ... :gruebel: Aus diesem Grund hab ich mich nun entschieden, die "mailloghead.sed" erst mal so zu nutzen, wie sie jetzt ist - ohne obige Zeile in der "maillog.cfg". Damit könnte man aber dann die Ausgabe leider nicht individuell gestalten.

Ich hab die "mailloghead.sed" noch etwas angepaßt, damit das englische Datum in ein deutsches Datumsformat umgewandelt wird. Die "mailloghead.sed" sieht nun so aus:
Code:
[FONT=Courier New][SIZE=1]#####################################################################[/SIZE][/FONT]
[SIZE=1][FONT=Courier New]# Mailkopf f[/FONT][FONT=Courier New]ür Ausgabe an TV umwandeln * mit sed-script             #[/FONT][/SIZE]
[FONT=Courier New][SIZE=1]#####################################################################[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]{/^* [0-9][0-9]* FETCH/d;};                # löscht die Zeile, aber nur wenn sie mit '* [0-9] FETCH' beginnt[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]{/^)/,/^? OK FETCH finished./d;}           # löscht die beiden letzten Zeilen, aber nur, wenn '")" und "? OK FETCH finished."' enthalten sind.[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/^ //;[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/^[ \t]*//; s/[ \t]*$//;                  # Löscht unsichtbare Zeichen am Anfang und am Ende einer Zeile[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=?utf-8?Q?//g; s/=?utf-8?q?//g; s/=?ISO-8859-15?Q?//g; s/=?ISO-8859-15?q?//g; s/=?ISO-8859-1?Q?//g; s/=?ISO-8859-1?q?//g;[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/_/ /g; [/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/?=/ /g;[/SIZE][/FONT] 
[FONT=Courier New][SIZE=1]/+0.00/s/[0-9][0-9]\+/den &\./;            # Fügt einen Punkt "." hinter die Datumszahl vom Tag hinzu, aber nur, wenn es "+0(irgend ein Zeichen)00" in der Zeile gibt[/SIZE][/FONT]
[FONT=Courier New][SIZE=1][COLOR=black]s/ +0.00\| +0.00 (CET)//g;[/COLOR]                 # Löscht " +0100 (CET)"[/SIZE][/FONT] 
 
[FONT=Courier New][SIZE=1]/Date:/s/Sun/So./g; /Date:/s/Mon/Mo./g;  # Wandelt Wochentage von englisch[/SIZE][/FONT]
[SIZE=1][FONT=Courier New]/Date:/s/Tue/Di./g; /Date:/s/Wen/Mi./g;  # in deutsch um, aber nur in den Zeilen,[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Date:/s/Thu/Do./g; /Date:/s/Fri/Fr./g;  # in denen "Date:" vorkommt.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Date:/s/Sam/Sa./g;                      #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Date:/s/Jan/Januar/g; /Date:/s/Feb/Februar/g;    # Wandelt Monatsnamen von [/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Date:/s/Mar/März/g; /Date:/s/Apr/April/g;        # englisch in deutsch um,[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Date:/s/May/Mai/g; /Date:/s/Jun/Juni/g;          # aber nur in den Zeilen,[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Date:/s/Jul/Juli/g; /Date:/s/Aug/August/g;       # in denen "Date:" vorkommt.[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Date:/s/Sep/September/g; /Date:/s/Oct/Oktober/g; #[/FONT][/SIZE]
[SIZE=1][FONT=Courier New]/Date:/s/Nov/November/g; /Date:/s/Dec/Dezember/g; #[/FONT][/SIZE]
 
[FONT=Courier New][SIZE=1]s/From: /Die Nachricht von /g;[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/Subject: /-------\n/g; [/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/Date: /versandt am /[/SIZE][/FONT]
 
[FONT=Courier New][SIZE=1]s/ä\|=C3=A4\|=E4\|+AOQ-/Ã&curren;/g;       # ä Umlaute und andere Zeichen[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/Ä\|=C3=84\|=C4\|+AMQ-/Ä/g;              # Ä richtig darstellen, wenn sonst [/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/ö\|=C3=B6\|=F6\|+APY-/ö/g;              # ö z. B. =E4 oder =C3=A4 oder +AOQ-[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/Ö\|=C3=96\|=D6\|+ANY-/Ã-/g;              # Ö im Text stünde. Es wird nun zu[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/ü\|=C3=BC\|=FC\|+APw-/Ã&frac14;/g;       # ü einem richtigen ä.[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/Ü\|=C3=9C\|=DC\|+ANw-/ý/g;              # Ü[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/ß\|=C3=9F\|=DF\|+AN8-/þ/g;              # ß[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/¤\|=20AC\|=E2=82=AC\|+AKQ-\|+IKw-/€/g; # ¤[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=40\|+AEA-/@/g;                          # @[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=2C/,/g;                                 # ,[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=A9\|©/(C)/g;                            # (C)[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=03A\|=2E/./g;                           # .[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=3A/:/g;                                 # :[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=21\|+ACE-/!/g;                          # ![/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=3D/=/g;                                 # =[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=02A\|=95/*/g;                           # *[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=20\|=A0/ /g;                            # Leerzeichen[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/§/§/g;                                  # § [/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=27/'/g;                                 # '[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/=60\|=E8\|´/`/g;                    # ` Akzent grave[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]s/<[^>]*>//g;/</N;//:a                     # Lösche die HTML-Tags[/SIZE][/FONT]
[FONT=Courier New][SIZE=1]p;                                         # gib aus[/SIZE][/FONT]

Edit:

Es hatte sich noch ein Fehlerchen eingeschlichen, desshalb mußte ich die "mailloghead.sed" noch einmal korrigieren, aber jetzt sollte die Datumsanzeige im deutschen Format richtig funktionieren.
 
Zuletzt bearbeitet:
Hallöchen zusammen,

weil mir erst heute aufgefallen ist, daß unter Umständen einige "sed-Befehle" hier nicht richtig dargestellt wurden, hänge ich mal lieber ein gepacktes Verzeichnis namens "maillog.zip" hier an. Darin sind die Dateien maillog.sed, mailloghead.sed sowie maillog.cfg enthalten. Diese 3 Dateien gehören dann in Freetz in das Verzeichnis /mod/etc/. Ich selbst hab sie auf dem USB-Stick und sorge mit einem Eintrag in "rc.custom" dafür, daß sie im Falle eines Reboots wieder nach /mod/etc/ kopiert werden.

Ich hoffe, mir ist nicht noch ein Fehlerchen passiert... ;)

Edit:

Grrr, nu hatte sich sich doch ein Fehler in die maillog.sed eingeschlichen. Ich denke, ich hab ihn jetzt ordentlich behoben. :oops:
Anhang anzeigen maillog.zip
 
Zuletzt bearbeitet:

Neueste Beiträge

Statistik des Forums

Themen
246,273
Beiträge
2,249,292
Mitglieder
373,862
Neuestes Mitglied
904lte
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.