Autor Thema: Email als Textfile lokal speichern  (Gelesen 1468 mal)

Offline vendui

  • Frischling
  • *
  • Beiträge: 13
Email als Textfile lokal speichern
« 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

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Email als Textfile lokal speichern
« Antwort #1 am: 22.08.12 - 18:05:04 »
Es kann mehrere Body Items geben, Du musst zwischen Notes und Multipart/Mime Internet Mails unterscheiden, ...
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Email als Textfile lokal speichern
« Antwort #2 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
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline vendui

  • Frischling
  • *
  • Beiträge: 13
Re: Email als Textfile lokal speichern
« Antwort #3 am: 23.08.12 - 12:40:25 »
Das hatte ich befürchtet. Dann werde ich mich mal in die MIME Materie einarbeiten...
Danke.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz