Hallo, Am Sun, 18 Sep 2011, Thomas Moritz schrieb:
<html> <font color=darkblue>Testzeile</font><b>1</b><br> Umlaute direkt äöüÄÖÜß<br><br> MfG <b>von mir</b><br><br> </html>
Hier fehlt ein Zeichensatz. Default ist ASCII. Ergo sind die Umlaute "illegal". Entwerder als entieties deklarieren (ä usw.) oder den richtigen Zeichensatz deklarieren. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </head> <body> ... </body> </html> daß irgendwelche Browser das auch so akzeptieren ist irrelevant.
#Test-Einzeiler: mail -s "$(echo -e "cmdline html-mail with äöü \nContent-Type: text/html")" zu.mir@aufs_handy.de < html_mail.html
Mail-Header sind _IMMER_ ASCII. Jegliches NICHT-ASCII muß kodiert werden, entweder als quoted-printable oder als Base64. Im Beispiel: Subject: cmdline html-mail with =?ISO-8859-15?Q?=E4=F6=FC?= 'mail' ist aber eh nicht sinnvoll für sowas. Nimm lieber mutt, das kümmert sich automatisch um genau so nen Krams, sogar in der default-Config. mutt macht z.B. aus obigem html-Fragment (als /dev/shm/dh/t.html gespeichert) mit: mutt -i /dev/shm/dh/t.html -s "cmdline html-mail with äöü" dh folgende Mail (gekürzt, im Rohformat): ==== Subject: cmdline html-mail with =?iso-8859-15?Q?=E4?= =?iso-8859-15?B?9vw=?= Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable <html> <head> </head> <body> ... </body> </html> ==== Evtl. ist also anhängen (-a DATEI) statt einfügen (-i DATEI) das richtige. Ich verwende kein HTML in Mails. mutt -s "cmdline html-mail with äöü" \ -a /dev/shm/dh/t.html -- dh < /dev/null scheint das zu machen was du willst: ==== Subject: cmdline html-mail with =?iso-8859-15?Q?=E4?= =?iso-8859-15?B?9vw=?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="PEIAKu/WMn1b1Hv9" Content-Disposition: inline [..] --PEIAKu/WMn1b1Hv9 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline --PEIAKu/WMn1b1Hv9 Content-Type: text/html; charset=iso-8859-15 Content-Disposition: attachment; filename="t.html" <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </head> <body> ... </body> </html> --PEIAKu/WMn1b1Hv9-- ==== Zeichensätze mußt du anpassen. ISO-8859-* lassen sich halt nicht unterscheiden und ich hab mutt halt auf -15 konfiguriert. Kurzum: nimm mutt, nicht mail. Ansonsten gibt's noch andere Anwendungen wie IIRC metamail o.ä., die ebenfalls Krams korrekt kodieren. Bei 'mail' mußt du selber kodieren und die passenden Header erzeugen. -dnh PS: ja, mutt scheint eigenwillig bzgl. Headerkodierungen, aber korrekt war's bisher noch immer ;) -- Wenn zwei, die sich nicht verstehen, wenigstens verstehen, daß sie sich nicht verstehen, dann verstehen sie sich besser, als wenn sie, obwohl sie sich nicht verstehen, nicht einmal verstehen, daß sie sich nicht verstehen. Und das muß man halt erstmal verstehen. -- Oliver Cromm -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org