Moin, keine Frage, sondern ein Tip: Ich bastele gerade mit Perls Mail::-Modulen 'rum. Damit mache ich einiges in Minuten, was ich mit Procmail und Formail nicht in Stunden geschafft habe. Mein Tip an alle, die Perl kennen und an ihrer Mail 'rumbasteln wollen! Thorsten -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. - Benjamin Franklin
Thorsten Haude wrote:
Moin,
keine Frage, sondern ein Tip: Ich bastele gerade mit Perls Mail::-Modulen 'rum. Damit mache ich einiges in Minuten, was ich mit Procmail und Formail nicht in Stunden geschafft habe.
Mein Tip an alle, die Perl kennen und an ihrer Mail 'rumbasteln wollen!
Hi, Perl ist zwar nicht meine Stärke aber kryptischer als procmail ist es auch nicht ;) Hast Du mal ein Beispiel? so long... bernd
Moin,
* Bernd Obermayr
Ich bastele gerade mit Perls Mail::-Modulen 'rum. Damit mache ich einiges in Minuten, was ich mit Procmail und Formail nicht in Stunden geschafft habe.
Mein Tip an alle, die Perl kennen und an ihrer Mail 'rumbasteln wollen! Perl ist zwar nicht meine Stärke aber kryptischer als
Thorsten Haude wrote: procmail ist es auch nicht ;) Genau, und Formail kann zwar einiges, aber ich bin damit nie warm geworden und habe einmal auch meine Mailbox zerhackt.
Hast Du mal ein Beispiel? Ein Skript um meinen Mülleimer zu leeren: http://www.vranx.de/mail/weedTrash.pl
Ich habe auch ein Mail::Audit Skript, das recht gut funktioniert (beim Plonken bin ich noch nicht sicher), das muß ich noch anonymisieren. Thorsten -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. - Benjamin Franklin
Thorsten Haude wrote (Sonntag, 4. November 2001 01:13):
Ich bastele gerade mit Perls Mail::-Modulen 'rum. Damit mache ich einiges in Minuten, was ich mit Procmail und Formail nicht in Stunden geschafft habe.
Kann man damit MIME-header laut rfc-2047 in ISO-8859-1 umwandeln? Oder kennt jemand eine andere Variante dafür? Thomas.
Moin, * Thomas Hofer
Thorsten Haude wrote (Sonntag, 4. November 2001 01:13):
Ich bastele gerade mit Perls Mail::-Modulen 'rum. Damit mache ich einiges in Minuten, was ich mit Procmail und Formail nicht in Stunden geschafft habe. Kann man damit MIME-header laut rfc-2047 in ISO-8859-1 umwandeln? Oder kennt jemand eine andere Variante dafür? Kann ich Dir nicht sagen, im Zweifelsfall schon. Hast Du mal ein Beispiel?
Thorsten -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. - Benjamin Franklin
Thorsten Haude wrote (Sonntag, 4. November 2001 13:37):
Kann man damit MIME-header laut rfc-2047 in ISO-8859-1 umwandeln? Oder kennt jemand eine andere Variante dafür?
Kann ich Dir nicht sagen, im Zweifelsfall schon. Hast Du mal ein Beispiel?
Ich will so etwas: Subject: Re: LoginScreen (ist dieser farblich =?iso-8859-1?q?=E4nderbar=3F?=) in so etwas umwandeln: Subject: Re: LoginScreen (ist dieser farblich änderbar?) Ich hab ein Shellscript für KMail geschrieben, das Reply-Mails, die keine vernünftigen References haben, eine Reference auf den Thread-Start einbaut (damit die Threads nicht dauernd zerstört werden, wenn ein paar Leute keine vernünftigen Header zusammenbringen). Das mach ich über die Subject-Line - das Problem ist nur, daß diese in unterschiedlichsten quoted printable-Formaten daherkommen kann... Thomas.
On Son, 04 Nov 2001, Thomas Hofer wrote:
Thorsten Haude wrote (Sonntag, 4. November 2001 13:37): Ich will so etwas:
Subject: Re: LoginScreen (ist dieser farblich =?iso-8859-1?q?=E4nderbar=3F?=)
in so etwas umwandeln:
Subject: Re: LoginScreen (ist dieser farblich änderbar?)
Klar, geht, mach ich z.B. im Statistik[1]-script... Ein paar Codeschnipsel (grauslich ineffektiv), umgeschrieben um als Filter zu funktionieren. (fast UNGETESTET!): ==== #!/usr/local/bin/perl -w use strict; use MIME::QuotedPrint; use MIME::Base64; sub mime_decode { my $tmp = shift; if ( $tmp =~ /(.*)=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[qQ]\?(.*)\?=(.*)/) { $tmp =~ s/=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[qQ]\?(.*)\?=/$1/g; $tmp =~ s/_/ /g; $tmp = decode_qp($tmp); } elsif ( $tmp =~ /(.*)=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[bB]\?(.*)\?=(.*)/) { $tmp =~ s/=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[bB]\?(.*)\?=/$1/g; $tmp = MIME::Base64::decode($tmp); } return $tmp; } my $maybe_next = 1; while(<>) { if(/^$/) { $maybe_next = 1; } if(/^From / && $maybe_next) { print "$_"; while(<>) { if(/^(Subject|From): /) { print mime_decode($_); } else { print "$_"; } last if(/^$/); } $maybe_next = 0; } else { print "$_"; } } ==== -dnh [1] urgs, die is ueberfaellig ;( --
btw: ist Gott ein BIOS ? Nein Gott ist ein grosser Computer, und wir sind seine Programme. Wenn eine Simulation zu Ende ist, dann kommt die nächste dran. [D.A.Gaggmann und WoKo in dag°]
On Sun, Nov 04, 2001 at 08:25:05PM +0100, David Haller wrote:
#!/usr/local/bin/perl -w use strict; use MIME::QuotedPrint; use MIME::Base64;
sub mime_decode { my $tmp = shift; if ( $tmp =~ /(.*)=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[qQ]\?(.*)\?=(.*)/) { $tmp =~ s/=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[qQ]\?(.*)\?=/$1/g; $tmp =~ s/_/ /g; $tmp = decode_qp($tmp); } elsif ( $tmp =~ /(.*)=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[bB]\?(.*)\?=(.*)/) { $tmp =~ s/=\?[iI][sS][oO]-[0-9]*-[0-9]*\?[bB]\?(.*)\?=/$1/g; $tmp = MIME::Base64::decode($tmp); } return $tmp; }
sauberer: sub mime_decode { if (/=\?iso-\d*-\d*\?q\?(.*)\?=/i) { s/=\?iso-\d*-\d*\?q\?(.*)\?=/$1/gi; s/_/ /g; $_ = decode_qp($_); } elsif (/=\?iso-\d*-\d*\?b\?(.*)\?=/i) { s/=\?iso-\d*-\d*\?b\?(.*)\?=/$1/gi; $_ = return MIME::Base64::decode($_); } return $_; } ungetestet ;) //i bedeutet case-insensitiv Gruss, Oliver
Hallo, at Monday 05.11.2001 (13:51 +0100), Oliver Kiehl wrote:
sauberer:
sub mime_decode {
Kann man diese Routine so in amavis mit einbauen ?? Gruß Michael -- Phone/Fax +49 7000 MACBYTE (+49 7000-6222983) Registered Linux User #228306 HomePage http://www.macbyte.info/ PGP-Key http://www.macbyte.info/shared/mykey.pkr ++ CGI-Hosting ++ Domains ++ Webspace ++ PHP Development ++
On Mon, Nov 05, 2001 at 02:18:19PM +0100, Michael Raab wrote:
Hallo,
at Monday 05.11.2001 (13:51 +0100), Oliver Kiehl wrote:
sauberer:
sub mime_decode {
Kann man diese Routine so in amavis mit einbauen ??
Ich kenne zwar AMaViS nicht (d.h. ich habe noch nie damit gearbeitet), aber da AMaViS ebenfalls in Perl geschrieben wurde sehe ich keinen Grund wieso es nicht gehen sollte. Anderseits sehe ich irgendwie den Zusammenhang nicht. AMaViS ist ein Virenscanner. Wieso willst Du damit Headers decoden? Gruss, Oliver
Hallo, at Monday 05.11.2001 (14:41 +0100), Oliver Kiehl wrote:
Anderseits sehe ich irgendwie den Zusammenhang nicht. AMaViS ist ein Virenscanner. Wieso willst Du damit Headers decoden?
Wenn er schon dabei ist jede Mail nach Viren zu filzen, kann er ja auch gleich nach =?iso-8859-1?q?=E4nderbar=3F?= suchen und korrigieren. Wozu soll dann noch ein zusätzliches Programm gestartet werden, wenn eh ein Perlscript gestartet wird ? Gruß Michael -- Phone/Fax +49 7000 MACBYTE (+49 7000-6222983) Registered Linux User #228306 HomePage http://www.macbyte.info/ PGP-Key http://www.macbyte.info/shared/mykey.pkr ++ CGI-Hosting ++ Domains ++ Webspace ++ PHP Development ++
On Mon, Nov 05, 2001 at 03:00:15PM +0100, Michael Raab wrote:
at Monday 05.11.2001 (14:41 +0100), Oliver Kiehl wrote:
Anderseits sehe ich irgendwie den Zusammenhang nicht. AMaViS ist ein Virenscanner. Wieso willst Du damit Headers decoden?
Wenn er schon dabei ist jede Mail nach Viren zu filzen, kann er ja auch gleich nach =?iso-8859-1?q?=E4nderbar=3F?= suchen und korrigieren. Wozu soll dann noch ein zusätzliches Programm gestartet werden, wenn eh ein Perlscript gestartet wird ?
<Philosophie> Den Kernel starte ich auch eh. Da koennte man es auch reinstecken ;) Nee. Wenn Formail mit Perl geschrieben waere, koennte man es dort integrieren (- kann Formail das schon ?). Ich sehe aber nicht ein wieso ein Virenscanner irgendetwas im Header rumpfuschen sollte. Sicher, es wuerde schneller gehen wenn nur ein Programm gestartet werden muesste - aber auf Kosten der Sauberkeit? Das halte ich persoenlich nicht fuer die richtige Loesung. </Philosophie> Gruss, Oliver
On Mon, Nov 05, 2001 at 01:51:17PM +0100, /me wrote:
sauberer:
sub mime_decode { if (/=\?iso-\d*-\d*\?q\?(.*)\?=/i) { s/=\?iso-\d*-\d*\?q\?(.*)\?=/$1/gi; s/_/ /g; $_ = decode_qp($_); } elsif (/=\?iso-\d*-\d*\?b\?(.*)\?=/i) { s/=\?iso-\d*-\d*\?b\?(.*)\?=/$1/gi; $_ = MIME::Base64::decode($_); } return $_; }
mehrere Fehler drin :( noch besser: sub mime_decode { $_ = shift; s/=\?iso-\d*-\d*\?(q|b)\?(.*)\?=/$2/gi && do { if ($1 eq 'q') { s/_/ /g; $_ = decode_qp($_); } else { $_ = MIME::Base64::decode($_); } }; # semicolon ist wichtig! return $_; }
ungetestet ;) (immernoch)
Regulaere Ausdruecke sind recht aufwendig. So geht es schneller. Gruss, Oliver
Oliver Kiehl wrote (Montag, 5. November 2001 14:34):
sub mime_decode { $_ = shift; s/=\?iso-\d*-\d*\?(q|b)\?(.*)\?=/$2/gi && do { if ($1 eq 'q') { s/_/ /g; $_ = decode_qp($_); } else { $_ = MIME::Base64::decode($_); } }; # semicolon ist wichtig! return $_; }
ungetestet ;)
(immernoch)
Ihr solltet euch mal diese Testfälle zu Gemüte ziehen: "=?ISO-8859-1?Q?kodiert1?=unkodiert=?ISO-8859-1?Q?kodiert2?=" "=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=unkodiert=?ISO-8859-1?Q?QPcodiert?=" "10+10=20=?ISO-8859-1?Q?=20?=" Das Format ist übrigens in RFC-2047 definiert. Thomas.
Hi Thomas On Mon, Nov 05, 2001 at 03:41:11PM +0100, Thomas Hofer wrote:
Ihr solltet euch mal diese Testfälle zu Gemüte ziehen:
"=?ISO-8859-1?Q?kodiert1?=unkodiert=?ISO-8859-1?Q?kodiert2?="
"=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=unkodiert=?ISO-8859-1?Q?QPcodiert?="
"10+10=20=?ISO-8859-1?Q?=20?="
Das Format ist übrigens in RFC-2047 definiert.
schau mal unter www.anomy.net (is aber anscheinend grad offline) -- MfG. Falk
On Mon, Nov 05, 2001 at 03:41:11PM +0100, Thomas Hofer wrote:
Oliver Kiehl wrote (Montag, 5. November 2001 14:34):
sub mime_decode { $_ = shift; s/=\?iso-\d*-\d*\?(q|b)\?(.*)\?=/$2/gi && do { if ($1 eq 'q') { s/_/ /g; $_ = decode_qp($_); } else { $_ = MIME::Base64::decode($_); } }; # semicolon ist wichtig! return $_; }
ungetestet ;)
(immernoch)
Ihr solltet euch mal diese Testfälle zu Gemüte ziehen:
"=?ISO-8859-1?Q?kodiert1?=unkodiert=?ISO-8859-1?Q?kodiert2?="
"=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=unkodiert=?ISO-8859-1?Q?QPcodiert?="
beide muessten mit dem obigen Algorithmus funktionieren. Durch das s//g werden alle Instanzen in einer Zeile ersetzt. Wie schon in einer anderen Mail von mir erwaehnt, wird durch s//i Gross- und Kleinschreibung misachtet (aber am Ende richtig wieder eingesetzt)
"10+10=20=?ISO-8859-1?Q?=20?=" Das Format ist übrigens in RFC-2047 definiert.
Was bedeutet '10+10=20'? Ich habe jetzt keine Lust das RFC durchzulesen, aber wenn das der Klartext ist, duerfte das auch funktionieren. Gruss, Oliver
Oliver Kiehl wrote (Montag, 5. November 2001 16:20):
On Mon, Nov 05, 2001 at 03:41:11PM +0100, Thomas Hofer wrote:
Oliver Kiehl wrote (Montag, 5. November 2001 14:34):
sub mime_decode { $_ = shift; s/=\?iso-\d*-\d*\?(q|b)\?(.*)\?=/$2/gi && do { if ($1 eq 'q') { s/_/ /g; $_ = decode_qp($_); } else { $_ = MIME::Base64::decode($_); } }; # semicolon ist wichtig! return $_; }
ungetestet ;)
(immernoch)
Ihr solltet euch mal diese Testfälle zu Gemüte ziehen:
"=?ISO-8859-1?Q?kodiert1?=unkodiert=?ISO-8859-1?Q?kodiert2?="
"=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=unkodiert=?ISO-8859-1?Q?QPcod iert?="
beide muessten mit dem obigen Algorithmus funktionieren. Durch das s//g werden alle Instanzen in einer Zeile ersetzt.
Testfälle sind zum Testen da, nicht zum Wegdiskutieren. ;-) Das (.*)\?= schluckt zu viel. Es ist greedy und schnappt sich gleich mal alles bis zum _letzten_ "?=", nicht bis zum ersten, wie das eigentlich gedacht war. Mit einem Fragezeichen nach dem Stern kann man das aber beheben: (.*?)\= Das Problem in der zweiten Zeile bleibt aber bestehen: wenn im String sowohl base-64 als auch quoted-printable-codierung vorkommt, dann wird nur die letzt-verwendete codierung decodiert.
"10+10=20=?ISO-8859-1?Q?=20?=" Das Format ist übrigens in RFC-2047 definiert.
Was bedeutet '10+10=20'?
Nur eine mathematische Gleichung (ein Klartext also).
Ich habe jetzt keine Lust das RFC durchzulesen, aber wenn das der Klartext ist, duerfte das auch funktionieren.
"=20" ist ein Space in quoted printable Codierung. Wenn man die quoted-printable-decodierung auch über die Klartext-Teile laufen läßt, dann ist das zuviel des Guten. "10+10=20=?ISO-8859-1?Q?=20?=" --richtig--> "10+10=20 " "10+10=20=?ISO-8859-1?Q?=20?=" --falsch--> "10+10 " Thomas.
On Mon, 05 Nov 2001, Thomas Hofer wrote:
Das Problem in der zweiten Zeile bleibt aber bestehen: wenn im String sowohl base-64 als auch quoted-printable-codierung vorkommt, dann wird nur die letzt-verwendete codierung decodiert.
Oh, das habe ich "nebenan" noch nicht beruecksichtigt... Aber das waere auch ziemlich eigenartig... Hm. Eigentlich sollte doch ein 'if(qp) { ... } if(b64) { ... }' statt einem 'if(qp) { ... } elsif(b64) { ... }' funktionieren... Das will ich heute aber nicht mehr testen :) -dnh -- 13. Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.'' --- Antoine de Saint-Exupéry as cited in Eric S. Raymond, "The Cathedral and the Bazaar"
Hallo zusammen, On Mon, 05 Nov 2001, Oliver Kiehl wrote:
On Mon, Nov 05, 2001 at 03:41:11PM +0100, Thomas Hofer wrote:
Oliver Kiehl wrote (Montag, 5. November 2001 14:34):
sub mime_decode { $_ = shift; s/=\?iso-\d*-\d*\?(q|b)\?(.*)\?=/$2/gi && do { [..] $_ = MIME::Base64::decode($_);
Das ist leider von vorherein (bei mir) schon flasch... Korrekterweise darf _nur_ der base64-kodierte Teil der Zeile an decode() uebergeben werden, s. unten wie man das loesen kann... [..]
Ihr solltet euch mal diese Testfälle zu Gemüte ziehen:
"=?ISO-8859-1?Q?kodiert1?=unkodiert=?ISO-8859-1?Q?kodiert2?="
"=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=unkodiert=?ISO-8859-1?Q?QPcodiert?="
beide muessten mit dem obigen Algorithmus funktionieren.
Nein. Alle bisher genannten Algorithmen funktionieren nicht (immer). Ich habe jetzt nochmal recht ausfuehrlich getestet und habe eine Version, die nur noch an: Subject: Re: 7.3 =?iso-8859-1?Q?Stabilit=E4tsproble?= =?iso-8859-1?Q?me?= "scheitert", und ein "Stabilitätsproble me" draus macht, was ja auch korrekt ist, wenn das Mailprogramm das dieses Subject mailt mit Subject: Re: 7.3 =?iso-8859-1?Q?Stabilit=E4tsproble?= =?iso-8859-1?Q?me?= nicht so zurechtkommt, was mein neuer Algorithmus korrekt zu "Stabilitätsprobleme" dekodiert. Naja, durch solche "Fiesheiten" ist der code nicht mehr sonderlich "klein", aber mir faellt nix eleganteres ein. Ok, da ist ein Teil des codes doppelt, aber den zusammenzufassen wird umstaendlicher als ich jetzt Lust habe. Und bevor Fragen kommen: Nein, es geht _nicht_ einfacher (von der logik her), leider (z.B. wg. obigem Fall mit Umbruch im Wort und beide Teile einzeln kodiert. Ohne diese Verrenkungen waere der Algorithmus IMHO "elegant": ==== sub mime_decode_one_line_only { $_ = shift; if( s/=\?iso-\d*-\d*\?q\?(.*?)\?=/$1/gi) { $_ = decode_qp($_); s/_/ /g; } elsif( s/=\?iso-\d*-\d*\?b\?(.*?)\?=/decode_base64($1)/egi) { # nix ;) } return $_; } ==== Aber wie gesagt, das "greift" zu kurz... Also, diesmal recht ausfuehrlich anhand von suse-linux seit dem 1.11. getestet... HTH, -dnh PS: Ja, QP Strings im Body, wie frueher in diesem Thread werden korrekterweise _nicht_ dekodiert :))) ==== #!/usr/local/bin/perl -w use strict; use MIME::QuotedPrint; use MIME::Base64; sub mime_decode { my $line = shift; if( $line =~ s/=\?iso-\d*-\d*\?q\?(.*?)\?=/$1/gi) { $line = decode_qp($line); $line =~ s/_/ /g; my $next_line = (<>); if($next_line =~ /^[ \t]+.*=\?iso-\d*-\d*\?[qb]\?/i) { chomp($line); $next_line =~ s/^[ \t]+=\?/=?/; $next_line = mime_decode($next_line); } return "$line$next_line"; } elsif( $line =~ s/=\?iso-\d*-\d*\?b\?(.*?)\?=/decode_base64($1)/egi) { my $next_line = (<>); if($next_line =~ /^[ \t]+.*=\?iso-\d*-\d*\?[qb]\?/i) { chomp($line); $next_line =~ s/^[ \t]+=\?/=\?/; $next_line = mime_decode($next_line); } return "$line$next_line"; } else { return "$line"; } } my $maybe_next = 1; while(<>) { if(/^$/) { $maybe_next = 1; } if(/^From / && $maybe_next) { print "$_"; while(<>) { print mime_decode($_); last if(/^$/); } $maybe_next = 0; } else { print "$_"; } } ==== --
Wenn Du KDE 1 an ein vier- und KDE 2 an ein dreibeiniges Schwein bindest und beide gleichzeitig trittst, läuft KDE 1 schneller. F'up. Wenn du beide Schweine gleichzeitig trittst, landest du auf dem Hintern, und dann bleiben beide Schweine vor Lachen stehn ;-) [Robin S. Socha und André Schneider in dcoulm]
Moin, * Thomas Hofer
Ich will so etwas:
Subject: Re: LoginScreen (ist dieser farblich =?iso-8859-1?q?=E4nderbar=3F?=)
in so etwas umwandeln:
Subject: Re: LoginScreen (ist dieser farblich änderbar?) Ist das RFC2045? Dafür gibt's ein dickes Paket, MIME und Unterpakete.
Installier mal die MIME::-Pakete und mach Dich in den Manpages schlau.
Ich hab ein Shellscript für KMail geschrieben, das Reply-Mails, die keine vernünftigen References haben, eine Reference auf den Thread-Start einbaut (damit die Threads nicht dauernd zerstört werden, wenn ein paar Leute keine vernünftigen Header zusammenbringen). Das mach ich über die Subject-Line - das Problem ist nur, daß diese in unterschiedlichsten quoted printable-Formaten daherkommen kann... Mail::Box kann mit Threads umgehen, ich weiß aber nicht genau, wie die das machen.
Thorsten -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. - Benjamin Franklin
Hallo Thomas, hallo Leute, Am Sonntag, 4. November 2001 14:58 schrieb Thomas Hofer:
Ich hab ein Shellscript für KMail geschrieben, das Reply-Mails, die keine vernünftigen References haben, eine Reference auf den Thread-Start einbaut (damit die Threads nicht dauernd zerstört werden, wenn ein paar Leute keine vernünftigen Header zusammenbringen). Das mach ich über die Subject-Line - das Problem ist nur, daß diese in unterschiedlichsten quoted printable-Formaten daherkommen kann...
Das Script würde mich (und bestimmt viele andere) auch interessieren. Kannst Du es posten, wenn es fertig ist (bzw. als Link bei Übergröße)? Ach ja, wenn Du schon dabei bist, könntest Du gleich noch die References | In-Reply-To aus Mails löschen lassen, wenn das Subject nicht mit Re: | AW: | Antwort: | Fwd: | Re[2]: | ... beginnt ;-) Gruß Christian Boltz -- Registrierter Linux-Nutzer #239431 Linux is like a wigwam: no gates, no windows, but an apache inside.
Moin,
* Christian Boltz
Ach ja, wenn Du schon dabei bist, könntest Du gleich noch die References | In-Reply-To aus Mails löschen lassen, wenn das Subject nicht mit Re: | AW: | Antwort: | Fwd: | Re[2]: | ... beginnt ;-) Das wäre ein Fehler.
Thorsten -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. - Benjamin Franklin
participants (8)
-
Bernd Obermayr
-
Christian Boltz
-
David Haller
-
Falk Sauer
-
Michael Raab
-
Oliver Kiehl
-
Thomas Hofer
-
Thorsten Haude