Hi, ich moechte alle eingehenden Mails derart filtern, das html-Mails in normale Text-Mails umgewandelt werden. Dazu wuerde ich eingehende Mails durch ein Perlscript jagen, und den html part in ein extra Verzeichniss ablegen. Leider benoetige ich die Moeglichkeit auch html-Mails anzusehen. Bevor ich also selber anfange zu programmieren meine Frage, hat jemand eine derartige Loesung oder kennt jemand eine entsprechende software. Es sollte allerdings schon Perl sein. mit freundlichen Grüßen Jörg Zimmermann ------------------------------------------- .xsiteing agentur für netzkommunikation 42117 wuppertal - friedrich-ebert-str. 141b tel: 0202/3097070 - fax: 0202/3097072
Moin Joerg, * Joerg Zimmermann schrieb am 30 Jul 2001:
ich moechte alle eingehenden Mails derart filtern, das html-Mails in normale Text-Mails umgewandelt werden. Dazu wuerde ich eingehende Mails durch ein Perlscript jagen,
Wieso das? Wenn es nur um eine einfache HTML-Darstellung mit Text geht, dann geht lynx -dump --force-html dateiname sogar formatiert recht gut :-) Dazu mußt du vorher den HTML-Teil in dateiname abgelegt haben. Das sollte mit perl wohl irgendwie gehen ;-) Aber vielleicht geht das mit perl ja alles sogar noch einfacher ? Gruß, Sebastian -- Do not meddle in the affairs of Wizards, for they are subtle and quick to anger. Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome) SuSE-Linux-Mailinglisten-FAQ: http://www.helms.sh/faq/
On Mon, 30 Jul 2001, Sebastian Helms wrote:
* Joerg Zimmermann schrieb am 30 Jul 2001:
ich moechte alle eingehenden Mails derart filtern, das html-Mails in normale Text-Mails umgewandelt werden. Dazu wuerde ich eingehende Mails durch ein Perlscript jagen,
Wieso das? Wenn es nur um eine einfache HTML-Darstellung mit Text geht, dann geht
lynx -dump --force-html dateiname
Fast. Richtig: lynx -dump -force_html dateiname
Aber vielleicht geht das mit perl ja alles sogar noch einfacher ?
Nein, das nicht. Der Vorteil ist hoechstens, dass innerhalb eines Perl-Programmes kein extra Prozess gestartet werden muss. Das entlastet die Maschine. Und das koennte schon einmal wichtig sein. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
On Mon, 30 Jul 2001, Peter Blancke wrote:
On Mon, 30 Jul 2001, Sebastian Helms wrote:
* Joerg Zimmermann schrieb am 30 Jul 2001:
ich moechte alle eingehenden Mails derart filtern, das html-Mails in normale Text-Mails umgewandelt werden. Dazu wuerde ich eingehende Mails durch ein Perlscript jagen, lynx -dump --force-html dateiname
Fast. Richtig:
lynx -dump -force_html dateiname
Geht beides.
Aber vielleicht geht das mit perl ja alles sogar noch einfacher ?
Nein, das nicht. Der Vorteil ist hoechstens, dass innerhalb eines Perl-Programmes kein extra Prozess gestartet werden muss. Das entlastet die Maschine. Und das koennte schon einmal wichtig sein.
,----[ /tmp/html2ascii ] | #!/usr/bin/perl -w | use strict; | use HTML::Parser; | my $parser = HTML::Parser->new(text_h => [ sub { print shift; }, "dtext"]); | $parser->parse_file(*STDIN); `---- $ cat some.html | /tmp/html2ascii Das kann man also wunderbar in eine pipe oder in ein script einbauen, insbesondere auch in eine procmail-Regel. Statt STDIN kann man auch andere Filehandles oder Dateien lesen... Allerdings gefaellt mir die Ausgabe von 'lynx -dump' besser... :) Um "multipart" Mails zu dekodieren gibt's z.B. die MIME::-Module. Ein Beispiel-Script, das aus einer 3-teiligen Mail, die per Pipe von procmail "reingeschoben" wird, einen der Teile isoliert und (nur) diesen Teil dann weiterverwurstet gibt's ggfs. per PM ;) -dnh --
Überredet - brauch' meine tägliche Dosis suse-talk. <zur Gruppe umdreh> Jungs, wir haben sie festgenagelt! Die ist süchtig nach uns ... <zufrieden grins> [Moss und Helga Fischer in suse-talk]
On Mon, 30 Jul 2001, Peter Blancke wrote:
On Mon, 30 Jul 2001, Sebastian Helms wrote:
* Joerg Zimmermann schrieb am 30 Jul 2001:
ich moechte alle eingehenden Mails derart filtern, das
Hi David,
From: David Haller
normale Text-Mails umgewandelt werden. Dazu wuerde ich eingehende Mails durch ein Perlscript jagen, lynx -dump --force-html dateiname
Fast. Richtig:
lynx -dump -force_html dateiname
Geht beides.
Aber vielleicht geht das mit perl ja alles sogar noch einfacher ?
Nein, das nicht. Der Vorteil ist hoechstens, dass innerhalb eines Perl-Programmes kein extra Prozess gestartet werden muss. Das entlastet die Maschine. Und das koennte schon einmal wichtig sein.
,----[ /tmp/html2ascii ] | #!/usr/bin/perl -w | use strict; | use HTML::Parser; | my $parser = HTML::Parser->new(text_h => [ sub { print shift; }, "dtext"]); | $parser->parse_file(*STDIN); `----
$ cat some.html | /tmp/html2ascii
Das kann man also wunderbar in eine pipe oder in ein script einbauen, insbesondere auch in eine procmail-Regel.
Statt STDIN kann man auch andere Filehandles oder Dateien lesen...
Allerdings gefaellt mir die Ausgabe von 'lynx -dump' besser... :)
Um "multipart" Mails zu dekodieren gibt's z.B. die MIME::-Module.
Yep, das hilft.
Ein Beispiel-Script, das aus einer 3-teiligen Mail, die per Pipe von procmail "reingeschoben" wird, einen der Teile isoliert und (nur) diesen Teil dann weiterverwurstet gibt's ggfs. per PM ;)
Das waer natuerlich schoen. Also, noch mal ganz genau was ich will. 1.) Eingehende Mail wird bei uns auf unserem Server auf Viren gescannt. 2.) Danach werden Attachment's welche (Macro)Viren enthalten koennten (die nicht erkannt werden koennten), in eine besondere Umgebung verschoben und in die Mail wird ein Verweis auf die Datei eingefuegt (In der Umgebung koennen keine Programme gestartet, Office-Dokumente koennen nur mit Viewern betrachtet werden). 3.) HTML-Mails werden so umgeschrieben, das ich reine Text-Mails erhalte. Die HTML-Anteile sollen wiederum in eine besondere Umgebung verschoben und es wird wiederum ein ein Verweis in die Mail eingefuegt. 4.) Die verschobenen HTML-Inhalte enthalten haufig Grafiken, welche als Datei abspeichert werden und die HTML-Seiten verweisen auf diese. Die Punkte 1.) & 2.) sind erledigt. Fehlen noch die Punkte 3.) & 4.). Da es hier um Sicherheitsaspekte geht welche wohl die meisten Umgebungen betreffen hatte ich die Hoffnung fertige, oder halbfertige Loesungen zu finden. Ansonsten mach ich's eben selbst ;-) mit freundlichen Grüßen Jörg Zimmermann ------------------------------------------- .xsiteing agentur für netzkommunikation 42117 wuppertal - friedrich-ebert-str. 141b tel: 0202/3097070 - fax: 0202/3097072
Joerg Zimmermann wrote: [...]
Die Punkte 1.) & 2.) sind erledigt. Fehlen noch die Punkte 3.) & 4.). Da es hier um Sicherheitsaspekte geht welche wohl die meisten Umgebungen betreffen hatte ich die Hoffnung fertige, oder halbfertige Loesungen zu finden. Ansonsten mach ich's eben selbst ;-)
Hi, ich hab hier auf dem Rechner ein Tool namens html2text. Woher das kommt.. keine Ahnung, aber ich nehme schwer an, dass das irgendwo bei SuSE dabei ist. HTH so long... bernd
Moin,
* Joerg Zimmermann schrieb am 30 Jul 2001:
ich moechte alle eingehenden Mails derart filtern, das html-Mails in normale Text-Mails umgewandelt werden. Dazu wuerde ich eingehende Mails durch ein Perlscript jagen,
Es gibt einige Module im CPAN "HTML::Parse", "HTML::FormatText". Hier ein Auszug aus dem Kochbuch... #------------------------> perl -0777 -pe 's/<[^>]*>//gs' datei #------------------------> oder: #------------------------> { local $/; $html = <DATEIHANDLE>; $html =~ s/<[^>]*>//gs; } #------------------------> Die RegEx kann aber auch mal zu "komischen" Ergebnissen führen (lt. Buch;;). Vielleicht hilft Dir das weiter.... Ciao Andre
* Joerg Zimmermann schrieb am 30 Jul 2001:
ich moechte alle eingehenden Mails derart filtern, das
Hi Andre,
From: Andre Heine
normale Text-Mails umgewandelt werden. Dazu wuerde ich eingehende Mails durch ein Perlscript jagen,
Es gibt einige Module im CPAN "HTML::Parse", "HTML::FormatText".
Hier ein Auszug aus dem Kochbuch... #------------------------> perl -0777 -pe 's/<[^>]*>//gs' datei #------------------------> oder: #------------------------> { local $/; $html = <DATEIHANDLE>; $html =~ s/<[^>]*>//gs; } #------------------------> Die RegEx kann aber auch mal zu "komischen" Ergebnissen führen (lt. Buch;;).
Nein, Sie ist halt nur nicht hinreichend genau genug, bzw <zitat> außer fuer sehr einfachen HTML-Code ohne irgendwelche interessanten Stueckchen darin. </zitat>
Vielleicht hilft Dir das weiter....
Nicht wirklich, trotzdem Danke. mit freundlichen Grüßen Jörg Zimmermann ------------------------------------------- .xsiteing agentur für netzkommunikation 42117 wuppertal - friedrich-ebert-str. 141b tel: 0202/3097070 - fax: 0202/3097072
* Joerg Zimmermann schrieb am 30 Jul 2001:
ich moechte alle eingehenden Mails derart filtern, das
Hi Sebastian,
From: Sebastian Helms
normale Text-Mails umgewandelt werden. Dazu wuerde ich eingehende Mails durch ein Perlscript jagen,
Wieso das? Wenn es nur um eine einfache HTML-Darstellung mit Text
Darum ging's mir nicht.
geht, dann geht
lynx -dump --force-html dateiname
Es ging mir eher darum, aus HTML-Mails Text-Mails zu erzeugen.
sogar formatiert recht gut :-) Dazu mußt du vorher den HTML-Teil in dateiname abgelegt haben. Das sollte mit perl wohl irgendwie gehen ;-)
Aber vielleicht geht das mit perl ja alles sogar noch einfacher ?
surely!
participants (6)
-
Andre Heine
-
Bernd Obermayr
-
David Haller
-
Joerg Zimmermann
-
Peter Blancke
-
Sebastian Helms