Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: vendui am 22.08.12 - 17:32:06

Titel: Email als Textfile lokal speichern
Beitrag von: vendui am 22.08.12 - 17:32:06
Hallo,

ich habe bereits erfolgreich versucht den Inhalt einer Email in eine Textdatei des lokalen Filesystems zu schreiben und zwar so:

Code
Set rtitem = doc.GetFirstItem( "body" )
		
		If ( rtitem.Type = RICHTEXT ) Then
			plainText = rtitem.GetFormattedText( False, 10000 )
		End If

Das funktioniert leider nicht bei jeder Email. Manchmal fehlt einfach Text (am Ende). Mit der länge der Email hat es nichts zu tun.
Daher zwei Vermutungen, die aus den Unterschieden zwischen einer funktionierenden Email und einer nicht funktionierenden entstanden:

1. Vermutung - Fehler bei verschachtelten <body> Tags:

Code
<html>
  <head></head>
  <body>
    Text1
    <html><head><title>Text</title></head>
    <body>
    Text2
  </body>
</html>
  Text3
  </body>
</html>

Text1 und Text2 wird exportiert, Text3 nicht.
Liegt es daran? Gibt es nur einen <body> tag, funktioniert es.


2. Vermutung

Das Steuerzeigen 
Code
=0A=
, das genau an dieser Stelle vorkommt, sorgt für den Abbruch.
Bei den funktionierenden Email ist es nicht enthalten.


Ich weiß nicht so richtig weiter. Kann jemand eine Anregung geben?
(Ich kann den Inhalt der Email nicht beeinflussen.)

Vielen Dank.
Vendui
Titel: Re: Email als Textfile lokal speichern
Beitrag von: m3 am 22.08.12 - 18:05:04
Es kann mehrere Body Items geben, Du musst zwischen Notes und Multipart/Mime Internet Mails unterscheiden, ...
Titel: Re: Email als Textfile lokal speichern
Beitrag von: pram am 22.08.12 - 22:20:11
Probier mal getunformattedtext.

MIME Items werden beim ersten Zugriff in Richtext konvertiert, wenn Session.convertMime = TRUE ist (TRUE=default)
Dies dürfte bei dir auch der Fall sein, da sonst der rtitem.Type nicht RICHTEXT wäre.
Bei dieser Konvertierung wird gerne mal was weggelassen und ich denke dass da der Hund begraben liegt.
get(un)formattedtext sollte den Fall korrekt berücksichtigen wenn es mehrere Richtext-Items gibt.

Wie man die MIME-Items direkt auslesen kann, (als HTML) hab ich schon mal in einem Artikel zusammengefasst.

Gruß
Roland
Titel: Re: Email als Textfile lokal speichern
Beitrag von: vendui am 23.08.12 - 12:40:25
Das hatte ich befürchtet. Dann werde ich mich mal in die MIME Materie einarbeiten...
Danke.