Domino 9 und frühere Versionen > ND8: Entwicklung

iPhone Mail mit Inlines, Inlines sichtbar, aber programmatisch nicht

<< < (2/4) > >>

Renate:

--- Code: ---Versuch es mal mit

vEval = Evaluate("@AttachmentNames(0)", doc)
--- Ende Code ---

war ein Versuch Wert, aber
Evaluate("@Attachments(0)", doc) ergibt {0} und
Evaluate("@AttachmentNames(0)", doc) ergibt {""}

thkn777:
@Renate
Also bei mir steht in einem Body-Item mit "Bild" z.B. sowas drin:


--- Code: ---Feldname: Body
Datentyp: MIME-Element
Datenlänge: 227 Byte
Seq.-Num.: 1
Doppeleintrags-ID: 15
Feld-Flags: SIGN SEAL

"
--=_related 003D7ED3C1257F41_=
Content-Transfer-Encoding: base64
Content-Type: image/gif
Content-ID: <_1_0D5894CD46A494AB3D7EA1257F41>

R0lGDlhAABAIKJHP//wUHZCH5B9653256L654321BAAEAAICRAEAOw=="
--- Ende Code ---

Wenn Du derlei Einträge bei Dir nicht hast, dann fände ich das schon merkwürdig. Im Content-Type könnte natürlich auch image/jpeg oder irgendwas anderes sinnvolles stehen...

Mit folgendem Schnipsel

--- Code: ---        ' pathtemp = was auch immer für Dich Sinn macht
        ' i = Nummer des MIME-Elementes, Rest kann man sich denken ;)
If mime.ContentType = "image" And mime.ContentSubtype = "gif" Then
Set stream = s.CreateStream
pathname$ = pathtemp & doc.Universalid & "_" & CStr(i) & ".gif"
If Not stream.Open(pathname$, "binary") Then
                        ' Fehlerbehandlung, z.B.
' MessageBox pathname$,, "Open failed"
End If
Call mime.GetContentAsBytes(stream)
Call stream.Close()
Else

--- Ende Code ---

müßte so ein GIF-Attachment dann auch auf Platte landen. Tut es bei mir zumindest.

Tip:
- Bau mal einen kleineren, nicht ganz so komplexen Agenten und setze ihn auf eine Mail an, die garantiert MIME kodiert ist. Ist einfach übersichtlicher... In der Notes Hilfe zu notesMIMEEntity.GetContentAsBytes findet sich ein kurzes Beispiel, das als Ausgangspunkt taugen kann. Das ganze "Drumherum" schreibst Du, nachdem der eigentliche Export läuft - ok? Aber nicht vergessen!  ;)
- Arbeite nur mit Set mime = doc.GetMIMEEntity und Set mime = mime.Getnextentity(), um Dich in einem Dokument durch die Liste der Mime-Elemente zu hangeln. Das Body-Item an sich spielt eigentlich keine Rolle für den Agenten aus "Mime-Sicht".

Viel Erfolg,
Th.

Renate:

--- Code: ---Wenn Du derlei Einträge bei Dir nicht hast, dann fände ich das schon merkwürdig.
--- Ende Code ---
Ich finde das mehr als merkwürdig, aber es ist leider so.

Die von iPhones versendeten Mails haben zwar wie bereits erwähnt 55 body Felder, aber diese sehen so aus:

--- Code: ---Feldname: Body
Datentyp: Rich Text
Datenlänge: 20500 Byte (das differiert schon mal)
Seq.-Num.: 1
Doppeleintrags-ID: 0-53
Feld-Flags: SIGN SEAL
--- Ende Code ---

--- Code: ---Feldname: Body
Datentyp: Rich Text
Datenlänge: 23736 Byte
Seq.-Num.: 1
Doppeleintrags-ID: 54
Feld-Flags: SIGN SEAL

Güße
S R
--- Ende Code ---
Dass es sich um eine MIME Message handelt, kann man nur erahnen, da es ein Feld MIME_Version gibt:

--- Code: ---Feldname: MIME_Version
Datentyp: RFC822-Text
Datenlänge: 48 Byte
Seq.-Num.: 1
Doppeleintrags-ID: 0
Feld-Flags: SUMMARY
RFC822 Typ: TEXT
RFC822 Kennzeichen: STRICT
Nativer Wert:

"1.0 (1.0)"

RFC822 Header-Name:

"Mime-Version"

RFC822 Header-Begrenzer:

": "

RFC822 Header-Body:

31 2E 30 20 28 1.0 (
31 2E 30 29 0D 1.0).
0A                         .

--- Ende Code ---

Eine Mail, die ein Bodyfeld von typ MIME-Element hat, habe ich gerade getestet.
Wurde mit dem Algorithmus problemlos bearbeitet.

Noch eine Idee?

thkn777:
Hallo Renate,
meine Vermutung: Du hast die originalen Mail-Dokumente im Notes gespeichert. Also einen weiteren "Save" ausgeführt.

Experiment - Mach mal folgendes:
- sende eine neue Mail vom iPhone, mit Anhängen
- wenn diese Mail im Eingang angekommen ist, kopiere sie und füge sie nochmal in Deine Mail-DB ein
- Du hast jetzt zwei Mail-Dokumente, die "gleich" sind
- dann öffne das Original-Mail-Dokument
- wechsle in den Bearbeitungsmodus
- Speichere das Dokument

Nun schau Dir beide Dokumente an. Am besten direkt aus dem Ordner "Posteingang" heraus die Dokumenteigenschaften öffnen.

Erwartetes Resultat:
Die Body-Felder im gespeicherten Original-Dokument sollten jetzt "Rich Text" sein, die in der kopierten Mail immer noch "Mime-Element". Nur in der kopierten Mail ist die Funktion Ansicht-->Anzeigen-->Seitenquelltext noch nutzbar und liefert ein sinnvolles Resultat.

Wenn Du die Anhänge detachen willst, mußt Du dem Typ des Body-Feldes Rechnung tragen. Wenn Du den "MIME"-Weg einschlägst, dann belasse die Dokumente in der Ursprungsform und speichere sie nicht nochmal. Dann sollte auch alles klappen.

Viel Erfolg,
Th.

it898ur:
Hallo,

nach der Konvertierung der MIME-Mail in RichText sind es eingebettete Bilder - diese bekommt man nicht als Anhang gegriffen, aber ggf. über den Umweg DXL-Export (dort i.d.R. als Base64 kodierter Binärtext).

Gruß

André

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln