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

Ich danke Dir Hermann. Die hinter den Links stehenden Wissensanhäufungen ;) werde ich auf jeden Fall versuchen zu verstehen, um meinem Ziehl näher zu kommen. Dir danke ich auch Oliver, dann werde ich mal kräftig googeln... :D
 
lynx wäre natürlich auch eine Lösung, eleganter wäre es aber mit sed zu lösen. Und sehr viel ist es auch nicht. Wenn ich es richtig in Erinnerung habe, kommt man da mit 4-5 Zeilen je 80 Symbole in sed-Sprache klar. Und das ist auch noch nicht besonders optimiert. Lynx musst du erstmal als Paket haben und vermutlich noch konfigurueren, damit er nicht auf die Idee kommt Farben / Unterstriche u. ä. zu benutzen, was er auf "großen" Linuxen tut. Als Schnellschuß zum Ausprobieren kann man es nehmen, langfristig sollte man schon sed benutzen. Vor allem, du musst sowieso erstmal BODY in Einzelnteile zerlegen. Und wenn du da schon sowieso grep-en und sed-en muss, dann filtert man html-Codes anschließend auch mit.

MfG
 
[FONT=Verdana, sans-serif]Hallöchen zusammen! :)[/FONT]

[FONT=Verdana, sans-serif]Ich habe es zuerst einmal mit "sed" ausprobiert. Ich hab auch schon fast eine Lösung und schreibe Euch mal meine Gedanken dazu auf:[/FONT]

[FONT=Verdana, sans-serif]Ich bin von der schon empfangen Mail, die in "/var/tmp/maillog.body" angekommen ist, ausgegangen. Meine maillog.cfg sieht nun so aus:[/FONT]
Code:
## Rudi-Editor
## Bitte umgebende Zeilen NICHT löschen ('cat > ...', 'RUDI_EOF')
cat > /mod/etc/maillog.cfg << 'RUDI_EOF'
#!/bin/sh
#####################################################################
# CheckMailD-Event ($1=0): new mail #
#####################################################################
if [ "$1" = "0" ]
then
sleep 5
# Kopiere maillog.body von /var/tmp nach /mod/etc
cp /var/tmp/maillog.body /mod/etc/maillog.body
sleep 5
# Schreibe ab Zeile 2 bis "[COLOR=blue]text/html[/COLOR]" gefunden wird in maillog.neu
sed -n -e '2,/Content-Type\: text\/html/p' /mod/etc/maillog.body > /mod/etc/maillog.neu
sleep 5
# Sende Inhalt von maillog.neu an TV
cat /mod/etc/maillog.neu | callaction samsung_text 192.168.178.9
# Sende noch Mailkopf mit Datum, Uhrzeit, Absender und Betreff an TV
echo "Am $6 um $7 Uhr schrieb $8: $9" | callaction samsung_text 192.168.178.9
fi
#chmod +x /mod/etc/maillog.cfg # Ausführungsrechte vergeben
#modsave all # richtig abspeichern
RUDI_EOF
[FONT=Verdana, sans-serif]Eine vollständige von mir verschickte Testmail in "multi-part message in MIME format" käme hier sonst so in "/var/tmp/maillog.body" an:[/FONT]
Code:
* 1 FETCH (BODY[TEXT]<0> {3200}
This is a multi-part message in MIME format.
------=_NextPart_000_01F3_01CBD67B.E150EE10
Content-Type: text/plain;
        charset="UTF-8"
Content-Transfer-Encoding: 8bit
 
@Bibie: Wie Oliver schon sagte, man sollte am Besten die Inhalte von Body
filtern und erst gefiltert an den Fernseher versenden. Vermutlich hat es weniger
damit zu tun, ob du Thunderbird nimmst, oder mit einem anderen Klient die Mail
verschickst. Wichtig ist, aus dem Body brauchbare Inhalte herauszunehmen, die
man auch anzeigen kann.
Ich hatte mich vor kurzem mit der Thematik auseinandergesetzt gehabt, weil ich
gerade an der Gegenseite gebastelt hatte, nÃ&curren;mlich an einem
Shell-Skript-basierenden Versender von E-Mails mit AnhÃ&curren;ngen, html-Teilen,
bz2-Archiven usw. Und wenn ich das schon mal alleine mit Shell-Befehlen und
einigen kleinen Shell-Tools hinbekommen hatte, wird es nicht schwer sein die
E-Mails auch zudekodieren. Im GroÃen und Ganzen geht es darum, die "Trenner" der
einzelnen Teile zu finden (bei dir sind es z.B.
"------=_NextPart_000_0432_01CBD417.0FB8B290") und die Inhalte dazuwischen zu
analysieren. Wenn die Mail auch als Rein-Text Ã&frac14;bertragen wird, wird es deutlich
einfacher. Im Falle von html weià ich nicht, ob SAMSUNG damit klar kommt. Zu Not
kann man die Tags aus html mit sed "wegoptimieren" und somit daraus auch reine
Texte basteln.
------=_NextPart_000_01F3_01CBD67B.E150EE10
Content-Type: text/html;
        charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<META name=3DGENERATOR content=3D"MSHTML 9.00.7930.16423">
<STYLE></STYLE>
</HEAD><FONT size=3D2>
<BODY>
<DIV>
<DIV><FONT size=3D+0>@Bibie: Wie Oliver schon sagte, man sollte am =
Besten die=20
Inhalte von Body filtern und erst gefiltert an den Fernseher versenden.=20
Vermutlich hat es weniger damit zu tun, ob du Thunderbird nimmst, oder =
mit einem=20
anderen Klient die Mail verschickst. Wichtig ist, aus dem Body =
brauchbare=20
Inhalte herauszunehmen, die man auch anzeigen kann.<BR>Ich hatte mich =
vor kurzem=20
mit der Thematik auseinandergesetzt gehabt, weil ich gerade an der =
Gegenseite=20
gebastelt hatte, n=C3=A4mlich an einem Shell-Skript-basierenden =
Versender von E-Mails=20
mit Anh=C3=A4ngen, html-Teilen, bz2-Archiven usw. Und wenn ich das schon =
mal alleine=20
mit Shell-Befehlen und einigen kleinen Shell-Tools hinbekommen hatte, =
wird es=20
nicht schwer sein die E-Mails auch zudekodieren. Im Gro=C3=9Fen und =
Ganzen geht es=20
darum, die "Trenner" der einzelnen Teile zu finden (bei dir sind es z.B. =
"------=3D_NextPart_000_0432_01CBD417.0FB8B290") und die Inhalte =
dazuwischen zu=20
analysieren. Wenn die Mail auch als Rein-Text =C3=BCbertragen wird, wird =
es deutlich=20
einfacher. Im Falle von html wei=C3=9F ich nicht, ob SAMSUNG damit klar =
kommt. Zu Not=20
kann man die Tags aus html mit sed "wegoptimieren" und somit daraus auch =
reine=20
Texte basteln.<BR></FONT></DIV></DIV></BODY></HTML></FONT>
------=_NextPart_000_01F3_01CBD67B.E150EE10--
)
? OK FETCH finished.
Da bin ich auf die Idee gekommen nach "text/html" suchen zu lassen und den Text, der sich zwischen Zeile 2 und "text/html" befindet, soll ausgegeben werden. Das sieht dann so aus:
Code:
------=_NextPart_000_01F3_01CBD67B.E150EE10
Content-Type: text/plain;
charset="UTF-8"
Content-Transfer-Encoding: 8bit 
 
@Bibie: Wie Oliver schon sagte, man sollte am Besten die Inhalte von Body
filtern und erst gefiltert an den Fernseher versenden. Vermutlich hat es weniger
damit zu tun, ob du Thunderbird nimmst, oder mit einem anderen Klient die Mail
verschickst. Wichtig ist, aus dem Body brauchbare Inhalte herauszunehmen, die
man auch anzeigen kann.
Ich hatte mich vor kurzem mit der Thematik auseinandergesetzt gehabt, weil ich
gerade an der Gegenseite gebastelt hatte, nÃ&curren;mlich an einem
Shell-Skript-basierenden Versender von E-Mails mit AnhÃ&curren;ngen, html-Teilen,
bz2-Archiven usw. Und wenn ich das schon mal alleine mit Shell-Befehlen und
einigen kleinen Shell-Tools hinbekommen hatte, wird es nicht schwer sein die
E-Mails auch zudekodieren. Im GroÃen und Ganzen geht es darum, die "Trenner" der
einzelnen Teile zu finden (bei dir sind es z.B.
"------=_NextPart_000_0432_01CBD417.0FB8B290") und die Inhalte dazuwischen zu
analysieren. Wenn die Mail auch als Rein-Text Ã&frac14;bertragen wird, wird es deutlich
einfacher. Im Falle von html weià ich nicht, ob SAMSUNG damit klar kommt. Zu Not
kann man die Tags aus html mit sed "wegoptimieren" und somit daraus auch reine
Texte basteln. 
 
------=_NextPart_000_01F3_01CBD67B.E150EE10
Content-Type: [COLOR=blue]text/html[/COLOR]
[FONT=Verdana, sans-serif]Soweit so gut. Kommt eine Mail, die im "Nur-Text-Format" fortgeschickt wurde, wird der Inhalt von Zeile 2 bis zum Schluß zum TV gesendet, weil "text/html" nicht gefundenen wurde. Es ist zwar noch nicht optimal, aber für heute reicht es mir erst einmal... :D[/FONT]
 
Zuletzt bearbeitet:
Schön! Das ist echt gut, dass du dich traust, sofort mit sed anzufangen. Ich bin damals übrigens auch über dieselben Fehler durchgegangen. Deswegen verrate ich es dir (Oliver möge mich verzeihen):
1. Anstatt sed -n zu nehmen und anschließend mit p am Ende auszugeben, nimm am besten sed ohne -n und versuche lieber mit dem ersetzen zu arbeiten. Durchs Ersetzen mit // löschst du den Inhalt. Es ist zwar Geschmacksache, man sollte es aber wenigstens wissen.
2. Scheue nicht insbesondere am Anfang mehrere gepipe-te sed-s hintereinander zu nutzen. Ralf wird dich als besonderer sed-Kenner irgendwann mal dafür kritisieren, weil dadurch mehrere Instanzen gleichzeitig aufgerufen werden und RAM zugemühlt wird. Meine persönliche Erfahrung zeigt jedoch, dass besser so, als gar nicht. Die ausgeklügten verschachtelten Funtkionen in sed versteht man als Anfänger sowieso nicht und macht da gerne Fehler. Durch pipes und mehrere sed nacheinader teils du die Aufgaben auf.
3. Für manche Sachen kannst du auch gerne grep nehmen, weil es dafür besser geeignet ist und in manchen Fällen vom Syntax einfacher ist. Ich nehme immer grep+sed als Doppelpack. Hier würden wiederum einige sagen, dass man mit dem sed alles machen kann, was grep auch kann. Das mag alles sein, für den Anfänger ist es aber besser zunächst einen Erfolg zu haben. Manchmal sind dafür alle Mittel recht. Techniken kann man später optimieren.
4. Nun zu deinem eigentlichen Fehler. sed arbeitet Zeilenweise. Du kannst nicht über mehrere Zeilen hinaus eine Suche "von...bis" durchführen. Sobald dazwischen ein Zeilenumbruch kommt, hast du verloren. Das musst du einfach so hinnehmen, wie es ist.

Tipps für deine weiteren Experimente:
a) Nimm bitte die dafür vorgesehenen "---" als Multipart-Trenner. Gleiche Parts haben gleiche ID. Deswegen schneide bitte zunächst die Blöcke zwischen diesen Trenner.
b) Nutze ruhig read-Commando dafür und baue eine while-Schleife. Innerhalb der while-Schleife würde ich dann die Trenner abfangen und die Zeile dazwischen erstmal in 2-3 separate Dateien packen. Von mir aus, kannst du noch die Zeilen danach analysieren und gleich mitentscheiden, ob es denn html, reintext oder was auch immer ist.
c) Wenn du nachher zwei separate Dateien liegen hast, kannst du eine Fallunterscheidung machen. Liegt Reintext vor, wird dies zum Fernseher geschickt, sonst muss html gefiltert werden.
d) Beim html nimmst du zunächst alle Zeilenumbrüche weg. Sie spielen bei html sowieso keine Rolle, dir werden sie aber weitere Arbeit deutlich erschweren, wenn du sie drinnen lässt.
e) Filtere alle html-Tags weg bis auf <br>. Alle <br> ersetze bitte durch \n mit sed. Und schon bist du fertig.


Edit: Ganz fergessen... Kennst du FAQ-reader von mir? Das Ding wollte nachher keiner haben. An sich ist es aber coole Sache. Du kannst ruhig Einiges von dort für deine Experimente übernehmen. Im Prinzip tut das Ding genau das, was du willst, macht es allerdings noch in Farbe.


MfG
 
Zuletzt bearbeitet:
Vielen Dank für die vielen Tips uns Hinweise Hermann. :)

Deinen FAQ-Reader kannte ich noch nicht, den schaue ich mir aber an. Ich werde mich auf jeden Fall weiter bemühen, eine schöne Lösung für die Mails zu finden.
 
Hallöchen zusammen und Helau! :)

Ich möchte mal kurz mein vorläufiges Ergebnis zeigen.

Die maillog.cfg sieht so aus:
Code:
## Rudi-Editor
## Bitte umgebende Zeilen NICHT löschen ('cat > ...', 'RUDI_EOF')
cat > /mod/etc/maillog.cfg << 'RUDI_EOF'
#!/bin/sh
#####################################################################
# CheckMailD-Event ($1=0): new mail                                 #
#####################################################################
if [ "$1" = "0" ]
then
        sleep 5 
             # Kopiere maillog.body von /var/tmp nach /mod/etc
        cp /var/tmp/maillog.body /mod/etc/maillog.body
        sleep 5
             # Schreibe ab Zeile 2 bis  "text/html" gefunden  wird in maillog.neu
        sed -n -f /mod/etc/maillog.sed /mod/etc/maillog.body > /mod/etc/maillog.neu
        sleep 5
             # Sende Inhalt von maillog.neu an TV
        cat /mod/etc/maillog.neu | callaction samsung_text 192.168.178.9
        echo "Am $6 um $7 Uhr schrieb $8: $9" | callaction samsung_text 192.168.178.9
fi
#chmod +x /mod/etc/maillog.cfg
#modsave all
RUDI_EOF
Die 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.
s/^http:.*$//;:a # http: löschen
s/<[^>]*>//g;/</N;//:a #Lösche die HTML-Tags
s/^[ \t]*//;s/[ \t]*$//;:a # Lösche unsichtbare Zeichen sowohl am Anfang als auch am Ende jeder Zeile
 
s/=E4/ae/g; s/=F6/oe/g; s/=FC/ue/g; s/=DF/ss/g; s/=2E/:/g; s/=21/!/g; s/=3D/=/g; s/=95/*/g; s/=A0/ /g; s/ä/ae/g; s/ö/oe/g; s/ü/ue/g; s/ß/ss/g; # Umlaute und andere Zeichen am TV richtig darstellen, wenn sonst z. B. =E4 oder ä im Text stünde. Es wird nun zu ae.
 
/./!d; $!P;$!D; # Lösche leere Zeilen
p;
#chmod +x /mod/etc/maillog.sed
#modsave all
RUDI_EOF
chmod +x /mod/etc/maillog.sed
modsave all

Nachtrag:

Ich habe noch eine Zeile ins maillog.sed-Script eingefügt. Damit werden Umlaute und ein paar andere Zeichen, richtig/lesbar dargestellt: angekommen als "=E4" verarbeitet als "ae".

Noch ein Nachtrag:

Da der Samsung irgendwie keine Umlaute (ä, ö, ü, ß) mag, hab ich das maillog.sed-Script noch etwas erweitert. Nun werden am Samsung-TV alle ä, ö, ü und ß umgewandelt dargestellt in ae, oe, ue und ss.
 
Zuletzt bearbeitet:
@Bianca: Hast du schon mal mit Unicode probiert? Ich glaube kaum, dass Samsung kein Unicode versteht, denn es ist eine koreanische Firma. Alleine um ihre eigenen Schriftzeichen darzustellen, brauchen sie schon mal Unicode. Deswegen sollte man es doch wenigstens austesten. WIE man Unicode richtig zum Fernseher schickt weiß ich nicht. Evtl. musst du am Textanfang explizit sagen, dass es sich um Unicode handelt (Stichwort BOM), es kann aber auch sein, dass es nicht erforderlich ist. Sonderzeichen kann man in sed durch Backslash ( \ ) darstellen, allerdings informiere dich bitte irgendwo im Netz über die richtige Schreibweise und Anwendebeispiele mit dem Backslash. Denn wenn ich mich richtig besinne ist die Default-Schreibweise nach dem Backslash eine oktale Zahl, die den Kode von dem Symbol darstellt. Für die Steuersymbole vor dem Leerzeichen in der ASCII-Tabelle ist es ganz einfach: \000 heißt z.B. 0x00. Wie es aber weiter geht, musst du genauer schauen.

Alternativ kannst du eventuell noch mit HTML-Codes für die Umlaute versuchen. Z.B. &auml; Der Fernseher sollte eigentlich HTML verstehen. Ob man dann alles dafür mit html-Tags "ummanteln" muss weiß ich ebenfalls nicht. Das muss man auch ausprobieren. An sich würde ich aber schon erwarten, dass der Fernseher html versteht.


MfG
 
Hallo Hermann,

vielen Dank für Deine Hinweise. Nein, mit Unicode hab ich bisher noch nix ausprobiert, mit HTML-Codes auch noch nicht. Ich werde dann erstmal googeln, mal sehen, ob sich dafür etwas finden läßt.

Ich habe gerade einmal nachgeschaut, der Fernseher hat in seinem Einstellungs-Menü auf jeden Fall Umlaute enthalten - die müssen ja irgendwoher kommen... Ich gehe der Sache auf den Grund, so gut ich kann! ;)

Ich hatte Deinen Rat befolgt und die multi-part message-Mail in einzelne Dateien aufgesplittet. Dann sah ich aber später, daß ich es auch in einem Rutsch in einer Mail bearbeiten kann und hab es dann wieder abgeändert.
 
Ich habe schon gesehen, dass du es etwas anders gelöst hast. Ist auch egal wie, Hauptsache, dass es im Endeffekt funktioniert. 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. Das finde ich ausgesprochen gut und meckere deswegen kaum darüber, dass du meinen Ratschlägen nicht akribisch nachgehst, sondern deinen eigenen Weg gehst. Wir beschimpfen hier schon ab und zu einige Kandidaten, wenn sie nicht genau das tun, was wir denen sagen. Du gehörst aber eindeutig nicht zu der Sorte, weil du selbst mitdenken kannst, was viel mehr wichtiger ist, als nachzuaffen.
Destotrotz und weil du gerade schon so fragst erlaube ich mir doch ein bisschen Meckerei...
Warum steht bei dir in allen Beispielen Rudi-Editor? Oder machst du deine Experimente immer noch mit dem Web-Basierten Editor im Browser? Der Rudi-Editor ist zwar ausgesprochen gut, war aber eigentlich für 2-3 Zeiler gedacht und für die Experimente mal nebenbei. Du bist aber inzwischen in deinem Vorhaben ziemlich weit fortgeschritten. 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. Zur Bearbeitung von Dateien nimmst du einen vernünftigen Editor (z.B. Notepad++) und erklärst den in WinSCP zum Standardeditor. Danach kannst du nach einer erfolgreichen Verbindung die Datei direkt auf der Box öffnen und im Editor bearbeiten. Wenn du die Datei im Editor änderst und abspeicherst, wird sie automatisch im Hintergrund auf die Box übertragen. Zwar musst du eventuell die Zeilenenden nach dem ersten Öffnen manuell einstellen, danach bleiben sie aber solange erhalten, solange die Verbindung steht.
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.
Zum Ausführen von Dateien verbindest du dich per irgendeinen SSH-Klient mit der Box (z.B. PUTTY, was man auch in WinSCP integrieren kann).
Die ganzen Fragmente "cat < ... RUDI EOF" kannst du direkt als Dateien abspeichern, dann wird es übersichtlicher. Die sed-Sequenz kannst du auch als xyz.sed-Datei ablegen. Wenn es nachher in FREETZ festintegriert sein sollte, wäre es sowieso deutlich besser alles in separaten Dateien zu haben, als wild hin und her zu cat-en.
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.

MfG
 
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. :oops: 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! :D

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/Ã&curren;/g; s/=C4/Ä/g; s/=F6/ö/g; s/=D6/Ö/g; s/=FC/Ã&frac14;/g; s/=DC/ý/g; s/=DF/þ/g; s/=2E/:/g; s/=21/!/g; s/=3D/=/g; s/=95/*/g; s/=A0/ /g; s/ä/Ã&curren;/g; s/ö/ö/g; s/ü/Ã&frac14;/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... :)
 
Um eine Email richtig zu interpretieren, sind verschiedene Schritt notwendig. Je nachdem, was alles abgedeckt werden soll, kann das recht aufwendig sein, zumal man nicht wissen kann, was man alles an verschiedenen Formaten bekommt. Einige Schritte könnte man recht einfach mit einen C-Programm abdecken.

Zunächst muß man ggf. aus einer mehrteiligen Email den richtigen Teil heraus filtern. Es gibt ein Programm ripmime, das die einzelnen Teile aus einer Email extrahiert. Man muß danach nur noch feststellen, welches welcher Teil ist.

Es gibt verschiedene Arten, die Bytes einer Nachricht zu übermitteln (Content-Transfer-Encoding): 7bit, 8bit, quoted-printable und base64. Bei den letzten beiden muß dieses Encoding rückgängig gemacht werden. Für den Text-Teil ist base64 weniger üblich, aber es kommt vor. Auch diesen Teil übernimmt ripmime.

Dann ist noch die Frage nach dem Zeichensatz. Ein Programm, das alle möglichen Zeichensätze umwandeln kann, ist recode. Wenn außer utf-8 nur iso-8859-1 kommt, kann man auch mit einem einfachen Programm nur diesen Spezialfall abdecken.

Vermutlich wäre es relativ einfach, das Programm ripmime um die benötigten Funktionen zu ergänzen.
 
Hallo RalfFriedl, ich danke Dir für die Tips und Vorschläge. :)

Hmmm, ich möchte eigentlich nur den E-Mail-Text am TV "passabel" angezeigt bekommen. Dabei sollen auch Umlaute dargestellt werden können. In der Mail enthaltene Links und Bilder benötige ich nicht, denn ich kann sie eh nicht anklicken. Das was ich mir vorgestellt habe funktioniert erst einmal im groben.

Ich bin mir nicht sicher, ob ich ein zusätzliches Programm auf die FB installieren möchte, das dann ein Zeichen für ein "ä" aus einer Mail (egal mit welcher Codierung) richtig ins utf-8-Format umwandeln kann. Ich weiß noch nicht, wie ich das dann machen müßte. Desshalb hab ich mir überlegt: Es sind eigentlich nur ein paar Zeichen, die in den Mails vorkommen (ä, Ä, ö, Ö, ü, Ü, ß, @, ¤ und eventuell noch ein paar mehr). Wenn ich das sed-script zum Umwandeln benutze, wie es jetzt ist, bräuchte ich kein extra Programm dafür.

Ich hab heute die maillog.sed noch ein bisschen umgebaut und ergänzt. Sie sieht jetzt so aus:
Code:
[FONT=Courier New]## Rudi-Editor[/FONT]
[FONT=Courier New]## Bitte umgebende Zeilen NICHT löschen ('cat > ...', 'RUDI_EOF')[/FONT]
[FONT=Courier New]cat > /mod/etc/maillog.sed << 'RUDI_EOF'[/FONT]
[FONT=Courier New]#####################################################################[/FONT]
[FONT=Courier New]# Neue Mail für Ausgabe an TV umwandeln * mit sed-script            #[/FONT]
[FONT=Courier New]#####################################################################[/FONT]
[FONT=Courier New]s/ä\|=C3=A4\|=E4\|+AOQ-/Ã&curren;/g; # Umlaute und andere Zeichen[/FONT]
[FONT=Courier New]s/Ä\|=C3=84\|=C4\|+AMQ-/Ä/g;        # richtig darstellen, wenn sonst [/FONT]
[FONT=Courier New]s/ö\|=C3=B6\|=F6\|+APY-/ö/g;        # z. B. =E4 oder =C3=A4 oder +AOQ-[/FONT]
[FONT=Courier New]s/Ö\|=C3=96\|=D6\|+ANY-/Ö/g;        # im Text stünde. Es wird nun zu[/FONT]
[FONT=Courier New]s/ü\|=C3=BC\|=FC\|+APw-/Ã&frac14;/g; # einem richtigen ä.[/FONT]
[FONT=Courier New]s/Ü\|=C3=9C\|=DC\|+ANw-/ý/g;        #[/FONT]
[FONT=Courier New]s/ß\|=C3=9F\|=DF\|+AN8-/þ/g;        #[/FONT]
[FONT=Courier New]s/¤\|=E2=82=AC\|+AKQ-/€/g;         #[/FONT]
[FONT=Courier New]s/+AEA-/@/g[/FONT][FONT=Courier New];                         #[/FONT]
[FONT=Courier New]s/=2E/:/g;                           #[/FONT]
[FONT=Courier New]s/=21/!/g;                           #[/FONT]
[FONT=Courier New]s/=3D/=/g;                           #[/FONT]
[FONT=Courier New]s/=95/*/g;                           #[/FONT]
[FONT=Courier New]s/=A0/ /g;                           #[/FONT]
[FONT=Courier New]s/§/§/g;                            #[/FONT]
[FONT=Courier New]/Content-Type\: text\/html;/,/Content-Type\: text\/plain;/d # Ausgabe der Datei, AUSSER dem Teil, der zwischen den regulären Ausdrücken ist[/FONT]
[FONT=Courier New]{/^* [0-9] FETCH/d;} # löscht die Zeile, aber nur wenn sie mit '* [0-9] FETCH' beginnt[/FONT]
[FONT=Courier New]{/^Content-/d;} # Löscht vom Mailbody alle Zeilen mit "Content-" am Anfang.[/FONT]
[FONT=Courier New]{/^ charset\=/d;}[/FONT]
[FONT=Courier New]{/^This is a multi-part message in MIME format./d;}[/FONT]
[FONT=Courier New]{/<meta content=/,/http-equiv=/d;} # Löscht diese beiden Zeilen[/FONT]
[FONT=Courier New]{/^------/d;} # Löscht das boundary[/FONT]
[FONT=Courier New]/~~~~~~/,/* [0-9] FETCH/d # Ausgabe der Datei, AUSSER dem Teil, der zwischen den regulären Ausdrücken ist[/FONT]
[FONT=Courier New]{/^=3D=3D*/d;} # Lösche [/FONT]
[FONT=Courier New]{/^)/,/^? OK FETCH finished./d;} # löscht die beiden letzten Zeilen, aber nur, wenn '")" und "? OK FETCH finished."' enthalten sind.[/FONT]
[FONT=Courier New]: a #Sprungziel für nochmaligen Durchlauf [/FONT]
[FONT=Courier New]/\=/N; s/\\\n//; ta; # Falls eine Zeile mit einem Istgleichzeichen "=" endet, füge die nächste Zeile hinzu.[/FONT]
[FONT=Courier New]{/^http\:.*$/d;}:a # alle http-Links am Zeilenanfang löschen (Ich benötige sie nicht am TV)[/FONT]
[FONT=Courier New]s/<[^>]*>//g;/</N;//:a # Lösche die HTML-Tags[/FONT]
[FONT=Courier New]s/^[ \t]*//;s/[ \t]*$//;:a # Lösche unsichtbare Zeichen sowohl am Anfang als auch am Ende jeder Zeile[/FONT]
[FONT=Courier New]/./!d; $!P;$!D; # Lösche leere Zeilen[/FONT]
[FONT=Courier New]p;[/FONT]
 
[FONT=Courier New]RUDI_EOF[/FONT]
 
Hauptsache, es funktioniert bei Dir.

Noch eine Anmerkung zu dieser Zeile sed:
Code:
/Content-Type\: text\/html;/,/Content-Type\: text\/plain;/d # Ausgabe der Datei, AUSSER dem Teil, der zwischen den regulären Ausdrücken ist
Diese Anweisung löscht alles von "text/html" bis "text/plain". Da aber "text/plain" vor "text/html" steht, wird alles von "text/html" bis zum Ende der Datei (Email) gelöscht. Das ist in Deinem Fall vermutlich auch gewünscht, aber dann kannst Du es auch gleich so schreiben.

Wenn eine Email ohne HTML, aber mit Anhängen kommt, wird vermutlich der Anhang auch als Text dargestellt.

Die Boundary muß nicht aus mehr als zwei Minus-Zeichen am Anfang bestehen, obwohl es bei vielen Email-Clients so ist.

Die Zeilen mit FETCH am Anfang und Ende der Datei sollte besser das checkmaild Programm erst gar nicht in die Datei schreiben. Beim Abruf über POP kämen diese Zeilen auch nicht.
 
Hauptsache, es funktioniert bei Dir.
Ja, das tut es soweit. :D Ich muß noch zusehen, daß ich das ganze auf den USB-Stick lagere, damit nach einem Neustart der FB noch alles da ist...

Noch eine Anmerkung zu dieser Zeile sed:
Code:
/Content-Type\: text\/html;/,/Content-Type\: text\/plain;/d # Ausgabe der Datei, AUSSER dem Teil, der zwischen den regulären Ausdrücken ist
Diese Anweisung löscht alles von "text/html" bis "text/plain". Da aber "text/plain" vor "text/html" steht, wird alles von "text/html" bis zum Ende der Datei (Email) gelöscht. Das ist in Deinem Fall vermutlich auch gewünscht, aber dann kannst Du es auch gleich so schreiben.
Stimmt! Das habe ich vergessen umzuformulieren. :oops: Ich habe es geändert.
Wenn eine Email ohne HTML, aber mit Anhängen kommt, wird vermutlich der Anhang auch als Text dargestellt.
Ja, dem ist so, hab es gerade ausprobiert. Ein Anhang im Textformat kommt als "Content-Transfer-Encoding: quoted-printable" und wird am TV angezeigt. Ein Anhang im pdf-Format kommt als "Content-Transfer-Encoding: base64" und wurde am TV nicht angezeigt. Ich hab in die maillog.sed noch eingefügt, daß die Boundary vom Mailanhang nicht mehr am TV angezeigt wird.

Die Boundary muß nicht aus mehr als zwei Minus-Zeichen am Anfang bestehen, obwohl es bei vielen Email-Clients so ist.
Dankeschön. :) Es funktioniert einwandfrei, habs abgeändert. Die maillog.sed sieht nach einigen kleinen Änderungen nun 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           #
#####################################################################
s/ä\|=C3=A4\|=E4\|+AOQ-/Ã&curren;/g;       # Umlaute und andere Zeichen
s/Ä\|=C3=84\|=C4\|+AMQ-/Ä/g;       # richtig darstellen, wenn sonst 
s/ö\|=C3=B6\|=F6\|+APY-/ö/g;       # z. B. =E4 oder =C3=A4 oder +AOQ-
s/Ö\|=C3=96\|=D6\|+ANY-/Ö/g;       # im Text stünde. Es wird nun zu
s/ü\|=C3=BC\|=FC\|+APw-/Ã&frac14;/g;       # einem richtigen ä.
s/Ü\|=C3=9C\|=DC\|+ANw-/ý/g;       #
s/ß\|=C3=9F\|=DF\|+AN8-/þ/g;       #
s/¤\|=E2=82=AC\|+AKQ-/€/g;        #
s/+AEA-/@/g;                        #
s/=2E/:/g;                          #
s/=21/!/g;                          #
s/=3D/=/g;                          #
s/=95/*/g;                          #
s/=A0/ /g;                          #
s/§/§/g;                           #  
/Content-Type\: text\/html;/,/Content-Type\: text\/plain;/d # Nimmt nur das, was zwischen "Content-Type: text/plain;" und "Content-Type: text/html" steht.
{/^* [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.
{/^ charset\=/d;} # Löscht die Zeile mit "charset="
{/^This is a multi-part message in MIME format./d;} # Löscht die Zeile mit "This is a multi-part message in MIME format."
{/<meta content=/,/http-equiv=/d;} # Löscht diese beiden Zeilen
{/^--*/d;} # Löscht die Boundary
[COLOR=blue]{/boundary\="--*/d;}[/COLOR] # Löscht die Boundary vom Mailanhang
/~~~~~~/,/* [0-9] FETCH/d # Nimmt nur das, was zwischen "* [0-9] FETCH" und "~~~~~~" steht.
{/^==*\|=3D=3D*/d;} # Lösche === oder =3D=3D
{/^)/,/^? 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 # alle http-Links am Zeilenanfang löschen (Ich benötige sie nicht am TV)
s/<[^>]*>//g;/</N;//:a # Lösche die HTML-Tags
s/^[ \t]*//;s/[ \t]*$//;:a # Lösche unsichtbare Zeichen sowohl am Anfang als auch am Ende jeder Zeile
/./!d; $!P;$!D;:a # Lösche leere Zeilen
p;
RUDI_EOF

Die Zeilen mit FETCH am Anfang und Ende der Datei sollte besser das checkmaild Programm erst gar nicht in die Datei schreiben. Beim Abruf über POP kämen diese Zeilen auch nicht.
Kann ich das selbst ändern?
 
Es funktioniert einwandfrei, habs (Boundary) abgeändert.
Ich wollte damit nicht sagen, daß Du alle Zeilen löschen sollst, die mit zwei Minus Zeichen beginnen, da diese auch im Mail-Text vorkommen können. In der Praxis wird aber in solchen Zeilen meistens nichts wichtiges stehen.
Kann ich das selbst ändern?
Die Quellen sind vorhanden.

Ich habe mir mal ripmime angeschaut, je nachdem, welche Version man nimmt, ist es ca. 50 bis 100kB groß. Auf einem USB-Stick wäre das aber nicht weiter von Bedeutung.
 
@Ralf: Ich glaube, für diesen konkreten Fall kann man ripmime ersparen. Klar, man sollte überlegen, wie man die boundaries jeder Art sicher abfängt, aber auch das ist mit 2-3 sed-Zeilen erledigt. Alles, was nicht Text oder html ist, braucht auch nicht angezeigt zu werden. Ich denke, so wie Bibie es macht, ist es schon ok und vor allem hat einen gewissen Lern- und Spasseffekt. Man kann den Effekt sicherlich auch haben, wenn man ripmime verwendet, oder gar in C selbst schreibt, der Weg zum Ziel wäre aber deutlich länger und komplizierter und es würde auf jeden Fall die Gefahr bestehen, dass man irgendwo auf dem Wege aufgibt. Mit sed und shell-Programmierung hat man den Vorteil, dass man seine Ergebnisse ziemlich schnell sieht und durch ziemlich schnelle Teilerfolge für weitere Taten motiviert wird. So ging es mir zumindest. Und zum C wird Bibie sicherlich auch irgendwann mal kommen. So schwierig ist es wiederum auch nicht.

MfG
 
Hallöchen zusammen :)

Ich hab heute seit Mittag versucht, irgendwie ripMIME v 1.4 auf die FB zu bekommen - leider bisher vergebens. Interessant wäre es für mich schon.
INSTALL---------------------------------------------------------------

Very simple (as root)...

make
make install

[ Make install will install the ripmime binary to /usr/local/bin,
there are no other support files required. ]

To use ripMIME...

If you have an MIME encoded archive (say from sendmail's output)
called recvmail001.mime and you wish to unpack it to a directory
(which already exists) called "/var/tmp/unpack", then use ripMIME
as follows...

ripmime -i recvmail001.mime -d /var/tmp/unpack
Hmmm, es klang ja eigentlich recht einfach, ist es für mich aber wohl doch nicht. :gruebel: Ich wollte ripmime zunächst zum Probieren auf die FB mit make installieren. Ich dachte, dafür müßte es erst einmal auf der Box sein. Aber hier stecke ich im Moment felsenfest. Könnte mir bitte jemand einen Hinweis geben? Ich befürchte, daß in meinem FREETZ bestimmt noch etwas fehlt, denn ich bekomme partout keine Verbindung mit WinSCP zu Freetz. Probiert habe ich die importierten Einstellungen aus putty mit aktivem oder passivem Verbindungsmodus. Auf den USB-Speicher komme ich hingegen einwandfrei mit WinSCP. Ich habe gerade zusätzlich in Freetz noch Dropbear und Samba installiert (Freetz neu gebaut), aber noch nicht eingerichtet. Würde das ausreichen, oder fehlt vllt. noch etwas anderes? Käme ich mit putty, eingeloggt als root zum USB-Speicher? Dann würde ich es so mit "make install" probieren, wenn ripmime auf dem USB liegt, hab aber noch keinen Pfad gefunden. Ich suche weiter...

Edit:

:blonk: Ich habs gefunden, wie ich von putty zum usb-Speicher komme. /var/media/ftp/uStor01 :D

Hmmm, mit make install geht es nicht. Als Fehlermeldung erhalte ich in putty "-sh: make: not found". Darf ich Euch fragen, wie ich das installieren könnte? Oder hast Du Ralf ein anderes "ripmime" gedacht?
 
Zuletzt bearbeitet:
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.
2. Auf der Box sollte natürlich SSH-Server laufen. Entweder dropbear oder OpenSSH. Dropbear ist einfacher und sollte für deine Belange ausreichen. Einrichten geht ganz einfach: Aktivieren oder einfach Dienst starten.
3. Als du dropbear kompiliert hattest, warst du hoffentlich nicht zu geizig und hast den Klienten rausgeschmießen. Denn meine persönliche Erfahrung war, dass wenn man den Klienten rausschmeißt, dass beim dropbear deutlich mehr Sachen nicht mehr funktionieren. Ich habe dunkel in Erinnerung, dass gerade WinSCP dadurch nicht ging.
4. Zum etwas Kompilieren (make ausführen) musst du diese Binary entweder für unseren Cross-Compiler konfigurieren (können nur Gurus unter uns), oder dir make auf die Box installieren. Zweites geht nur theoretisch. Praktisch kannst du es knicken. Denn erstens ist die Box nicht in der Lage von der Rechenleistung her etwas vernünftig zu kompilieren. Zweitens, du brauchst dafür nicht nur make als Paket, sondern noch toolchain und einige anderen Sachen. Und das alles auf der Box.
Oliver hatte zwar irgendwann mal auf meine Anfrage make ins FREETZ aufgenommen und auch toolchain vorbereitet, es ist allerdings nichts daraus geworden. Und mir ist es unbekannt, dass jemand hier überhaupt make auf der Box nutzt.

@Ralf: Du siehst, wohin deine Ideen führen. Das ist genau das, was ich mit der Frustration und mit dem Aufgeben mittendrin meinte. Warum es denn einfach machen, wenn es komplizierter geht.
@Bibie: Bleib bei deinem sed, bitte. Du kommst damit deutlich weiter, als wenn du jetzt noch zusätzlich anfängst Grundlagen von Crosscompiling mal eben zu erlernen. Ich habe keine Zweifel, dass du auch das schaffst, allerdings wird es etwas länger dauern, als sed-Einzeiler zu erlernen. Lass dich nicht von deinem Weg abhalten. Nachher wird es wieder heißen: "Muss es denn ripmime mit seinen 100kB sein? Oliver steinigt mich schon seit Monaten dafür, dass ich an einer Stelle etwas zu faul gewesen bin und blkid anstatt fstyp nutze, weil es für mich bequemer war damit Partitionen zu ermitteln. Und der Unterschied zwischen blkid und fstyp ist deutlich kleiner als 100kB. Ich will damit lediglich vermitteln, was es 100 kB heißt.

MfG
 
Es ist relativ einfach, wenn man eine Entwicklungsumgebung auf der Box hätte. Hermann hat dazu schon etwas geschrieben.

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. Alternativ kann man auch die neueste Version nehmen, wenn man zwei Kommentarzeichen in make/ripmime/ripmime.mk verschiebt. Dann kommt man eher bei 100kB heraus.
 
Jetzt vergleichst du aber Äpfel und Birnen...

Ralf hat ripmime gerade in den trunk eingecheckt.

Gruß
Oliver
 

Neueste Beiträge

Statistik des Forums

Themen
244,885
Beiträge
2,220,161
Mitglieder
371,618
Neuestes Mitglied
kitachris
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.