Domino 9 und frühere Versionen > ND8: Entwicklung

mime Umlaute

(1/1)

Kressner:
Ich möchte eine mime Mail erstellen, das klappt sehr gut. Jedoch kommen die Umlaute im Betreff nicht an. Im Body klappt es, da habe ich es ja definiert (iso-8859-1).
Im Betrefff kann ich es nicht definieren, zumindest weiss ich nicht wie.
Bsp:
   s.ConvertMIME = False
   Set doc = db.CreateDocument   

   Set body = doc.CreateMIMEEntity
   Set header = body.CreateHeader("Content-Type")
   Set header = body.CreateHeader("Subject")
   Call header.SetHeaderVal("üöä ÜÖÄ Test ") ' diese Umlaute werden nicht angezeigt
   Set header = body.CreateHeader("To")
   Call header.SetHeaderVal("test@test.de")
   Set stream = s.CreateStream
   Call stream.WriteText("<HTML><Body><B>öüäÖÜÄ  Text in bold</B>text normal</body></html>") ' diese Umlaute gehen
   Call body.SetContentFromText (stream, "text/html;charset=iso-8859-1",ENC_NONE)
   Call doc.Send(False)
   s.ConvertMIME = True


Danke

m3:
1) Wenn schon iso-8859 im Body, dann iso-8859-15 (Euro-Zeichen, ..). Besser wäre UTF-8.

2) Native UTF-8 Header-Values (und Notes schreibt AFAIK per default UTF-8) sind nur erlaubt, wenn der empfangende SMTP-Server mitteilt, dass er die SMTP-Erweiterung "UTF8SMTP" unterstützt (siehe RFC 5335, Kapitel 4.2)

3) Für den Betreff/Subject gilt seit der RFC 2822, dass hier nur ASCII-Zeichen verwendet werden dürfen. Wenn Du einen Betreff mit Umlauten schicken willst, musst Du sie "word encoden". Z.B. so:

--- Code: ---=?iso-8859-15?Q?=A1Hola,_se=F1or!?=
--- Ende Code ---
Siehe Wikipedia und RFC 2047

Kressner:
mit Punkt 1 und 2 bin ich einverstanden.
Punkt 3 verstehe ich nicht ganz.
Ich kann sozusagen für einen Absatz oder einzelne Wörter einen Code festlegen.
Wo kann ich dazu die Syntax nachlesen z.B. "=?iso-8859-15?........umlaute etc.....?="
Ich finde viel zu php und mime aber das kann ich nicht ins Notes transportieren.
Muss ich folgendes im Notes schreiben:
Call header.SetHeaderVal("=?iso-8859-15?Q?=A1Hola,_se=F1or!?=")

Danke

heini_schwammerl:
Du solltest unter dem Stichwort quoted printable eine Menge finden, nicht nur für PHP.
Und ja im Prinzip musst Du das Subject Feld umschreiben.
So kommt von der IBM der wöchentliche Newsletter an.
Der Servertask formatiert die Meldung also auch entsprechend um.

--- Code: ---=?iso-8859-1?Q?W=F6chentliche_Information_f=FCr_Business_Partner?=
--- Ende Code ---
Mit Lotusscript gibt es die entsprechenden Klassen. Ich bin faul und wandle Umlaute soweit möglich in oe, ae etc.
HTML Encoding geht leider auch nicht, also z.B. &szlig; für ein "ß"
Evtl. kann man unter Lotusscript einen Stream erzeugen und den dann encoden und mit readText() wieder auslesen.
Anfang (?iso-8859-1?Q?) und Ende (=) würde ich dabei nicht codieren. Ausprobiert habe ich das aber noch nicht und es gibt daher vielleicht auch eine ganz einfache Lösung.
Gruß
Henning

m3:
Wozu gebe ich eigentlich Links bei meinen Postings an? Steht doch alles in der RFC bzw. für jene, die es etwas "hübscher" aufbereitet wollen, auf der Wikipediaseite.

Und Quoted-Printable bzw. base64 in Lotusscript zu implementieren ist wohl eher eine Fingerübung bzw. eine Google-Suche.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln