Domino 9 und frühere Versionen > ND8: Entwicklung

NotesMIMEEntity und text/plain auslesen

(1/3) > >>

magic_halli:
Hi,

ich sitze grad an einem Problem in Bezug auf text/plain von MIME-Mails auszulesen, also den eigentlichen Mailtext. Irgendwie komme ich hier nicht recht weiter!  :(

Es ist doch so, dass der Aufbau vom MIME-Item 'body' normalerweise so aussieht (lt. Recherche):

--- Code: ---+ multipart/related
   + multipart/alternative
      + text/plain
      + text/html
   + image/gif
   + image/jpeg

--- Ende Code ---

Das ist aber nicht immer so, oder? Ich habe hier ne Mail, deren MIME-Item 'body' so aussieht:

--- Code: ---+ multipart/related
   + multipart/alternative
      + multipart/related
         + text/plain
         + text/html
   + image/gif
   + image/jpeg

--- Ende Code ---
Jetzt frag ich mich, wie ich allgemeingültig den text/plain auslesen kann, wenn dieser nun doch offensichtlich in verschiedenen Ebenen vorkommen kann?! Oder ist diese Mail nur ein "Ausreiser" - warum auch immer?

Bisher lese ich text/plain so aus:

--- Code: ---     Set mime = doc.GetMIMEEntity

If Not(mime Is Nothing) Then

If mime.ContentType = "multipart" Then
Set child = mime.GetFirstChildEntity

' Child´s durchgehen
While Not(child Is Nothing)

If child.ContentType = "multipart" Then
Messagebox "Hier text/plain auslesen:"
Set ch = child.GetFirstChildEntity
If ch.ContentType = "text" And ch.ContentSubType = "plain" Then
Messagebox "ContentAsText vom Mail-body :  " & ch.ContentAsText
End If
Set ch = ch.GetNextSibling
End If

     Set child = child.GetNextSibling
Wend

End If

End If

--- Ende Code ---

Wenn jemand sowas schonmal gemacht hat, oder weiß wie´s geht... wie liest man denn bitteschön den text/plain einer Mail korrekt aus?
Mein Code sollte doch so erstmal richtig sein?

Danke und Gruß

Rico.

magic_halli:
Haaaa...  ;D

Ich bin durch Zufall auf einen 3-Zeiler in der Hilfe gestoßen, der all meine Sorgen löst, denn nun wird korrekt der Mailtext ausgelesen - egal wo text/plain in der MIME-Struktur steht!!!

--- Code: ---Set mime = doc.GetMIMEEntity
If Not(mime Is Nothing) Then
' multipart:
If mime.ContentType = "multipart" Then
Set child = mime.GetFirstChildEntity

' -----aus DominoHilfe:-----
While Not(child Is Nothing)
Set mime = child
Set child = mime.GetFirstChildEntity
Wend
               ' ---------------------------
If mime.ContentType = "text" And mime.ContentSubType = "plain" Then
body = mime.ContentAsText
Messagebox "MIME-Body :  " & body
End If

End If

End If

--- Ende Code ---
Geil, die Ausgabe ist nun korrekt! Fast...  ;)

Ich muss nun nur noch die Formatierung des 'mime.ContentAsText' anpassen.
Sprich: Bspw. wird ein 'ü' als '=FC', ein 'ß' als '=DF' usw. zurückgeliefert!

Mh, nach welchen Stichwörtern muss ich schauen, um die Formatierung korrekt anzupassen???

Rico.

m3:
Seufz. Das nennt sich Base64 - Forumssuche sollte Dir weiterhelfen.

Was machst Du, wenn es mehrere text/plain Teile in der Mail gibt?

http://www.ietf.org/rfc/rfc2045.txt
http://www.ietf.org/rfc/rfc2046.txt
http://www.faqs.org/rfcs/rfc2822.html

magic_halli:

--- Zitat ---Was machst Du, wenn es mehrere text/plain Teile in der Mail gibt?
--- Ende Zitat ---
Omg, ist das so? Mh, dann... ???

Ich hab bisher jedoch noch keine einzige Mail hier gesehen, wo das so ist... läuft dann wohl unter dem Stichwort "Glück gehabt"?!  ;)


Ich werd jetzt erstmal die Base64-Sache angehen, um damit wenigstens grundsätzlich meine Mailgeschichte abgedeckt zu haben...

Rico.

m3:
Guckst Du:
http://atnotes.de/index.php/topic,44252.0.html
http://atnotes.de/index.php/topic,44184.0.html

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln