Function DE Version 10.10

@MimePartGet

Attachments Note

Syntax

@MimePartGet(MIMEPART1;FNSEGMENTNR2;FNFLAGS3;FNPARTTYPE4;FNVERSION5;MIMEBOUNDARY6;MIMEHEADERS7;MIMEBODY8);

Beschreibung

Gibt die Informationen zu einem MIMEPART-Segment von HUGEMIMEPART MIMEPART1 zurück.

FN FNSEGMENTNR2:
Segment-Nummer des Segments, dessen Informationen angefordert werden (die Zählung beginnt mit 1).

Return FN FNFLAGS3:
In diesem Parameter werden die Flags des Segments zurückgegeben.

Flag   Hex   Dec   Kommentar
MIME_PART_HAS_BOUNDARY   0001   00001   
MIME_PART_HAS_HEADERS   0002   00002   
MIME_PART_BODY_IN_DBOBJECT   0004   00004   
MIME_PART_SHARED_DBOBJECT   0008   00008   Used only with MIME_PART_BODY_IN_DBOBJECT.
MIME_PART_SKIP_FOR_CONVERSION   0010   00016   only used during MIME->CD conversion

Return FN FNPARTTYPE4:
In diesem Parameter wird der Type des MIMEPART-Body zurückgegeben.

Type   Hex   Dec
MIME_PART_PROLOG   0001   00001
MIME_PART_BODY   0002   00002
MIME_PART_EPILOG   0003   00003
MIME_PART_RETRIEVE_INFO   0004   00004
MIME_PART_MESSAGE   0005   00005

Return FN FNVERSION5:
In diesem Parameter wird die Version des MIMEPART-Body zurückgegeben.
Derzeit nur Version 2 zulässig!

Return TEXT MIMEBOUNDARY6:
In diesem Parameter wird der Boundary-String des MIMEPART-Segments zurückgegeben.
Der Boundary-String ist ein mehr oder weniger zufälliger String, der aber eindeutig sein sollte und in den eigentlichen Daten nicht vorkommt, damit er zur Abgrenzung dienen kann.
Ein Boundary-String wird mir "\X0D\0A" abgeschlossen!
Per RFC Definition:
Der Boundary-String wird bei allen Teilen mit "–" eingeleitet und beim Epilog wird der Boundary-String mir "–" ausgeleitet (vor dem abschließenden "\X0D\0A"; siehe Beispiel unten letztes Segment!).
Ein Segment muss nicht zwingend einen Boundary-String enthalten!

Return TEXT MIMEHEADERS7:
In diesem Parameter werden die Header-Zeilen des MIMEPART-Segments zurückgegeben.
Die Headerzeilen können diverse Angaben zum Body enthalten, oder z.B. den Boundary-String festlegen.
Ein Segment muss nicht zwingend Header-Zeilen enthalten!

Return TEXT MIMEBODY8:
In diesem Parameter wird der eigentliche Body des MIMEPART-Segments zurückgegeben.
Der Body kann den Default-Text für nicht HTML-Mail-Clients enthalten, oder den Verweis auf das Attachment im Dokument mit dem HTML-Text (mime.htm) für HTML-Mail-Clients.
Ein Segment muss nicht zwingend einen Body enthalten!

Der Retunwert des Function ist True im Erfolgsfall.

Beispiel MimePartGet(MIMEPART1;FNSEGMENTNR2;FNFLAGS3;FNPARTTYPE4;FNVERSION5;MIMEBOUNDARY6;MIMEHEADERS7;MIMEBODY8);

/*Erstellen eines typischen MimePart Feldes:*/
MIMEPART1:=@HugeMimePart;
Version:=2;

Flags:=2;
PartType:=1;
MimeBoundary:="";
MimeHeaders:="Content-Type: multipart/alternative; boundary=\"_———-=_MCPart_1267956056\"\X0D\X0A\X0D\X0A"
;
MimeBody:="This is a multi-part message in MIME format
\X0D\X0A";
MIMEPART1:=@MimePartAdd(MIMEPART1;Flags;PartType;Version;MimeBoundary;MimeHeaders;MimeBody);

/*Die Daten des nachfolgenden Segments werden unten im Beispiel wieder geholt.*/
Flags:=3;
PartType:=2;
MimeBoundary:="\X0D\X0A–_———-=_MCPart_1267956056\X0D\X0A";
MimeHeaders:="Content-Transfer-Encoding: quoted-printable\X0D\X0AContent-Type: text/plain; charset=\"utf-8\"; format=\"fixed\"\X0D\X0A\X0D\X0A";
MimeBody:="Dies ist der Text f\XC3\XBCr einen nicht HTML-f\XC3\XA4higen Mail-Client!\X0D\X0A";
MIMEPART1:=@MimePartAdd(MIMEPART1;Flags;PartType;Version;MimeBoundary;MimeHeaders;MimeBody);

Flags:=15;
PartType:=2;
MimeBoundary:="\X0D\X0A–_———-=_MCPart_1267956056\X0D\X0A";
MimeHeaders:="Content-Transfer-Encoding: 8bit\X0D\X0AContent-Type: text/html; charset=\"utf-8\"\X0D\X0A\X0D\X0A";
MimeBody:="mime.htm";
MIMEPART1:=@MimePartAdd(MIMEPART1;Flags;PartType;Version;MimeBoundary;MimeHeaders;MimeBody);

Flags:=1;
PartType:=3;
MimeBoundary:="\X0D\X0A–_———-=_MCPart_1267956056–\X0D\X0A";
MimeHeaders:="";
MimeBody:="\X0D\X0A";
MIMEPART1:=@MimePartAdd(MIMEPART1;Flags;PartType;Version;MimeBoundary;MimeHeaders;MimeBody);

FNSEGMENTNR2:=2
Ret:=@MimePartGet(MIMEPART1;FNSEGMENTNR2;FNFLAGS3;FNPARTTYPE4;FNVERSION5;MIMEBOUNDARY6;MIMEHEADERS7;MIMEBODY8);

Es wird ein typisches MIMEPART-Feld erstellt und die Daten des 2.ten Segments werden über @MimePartGet wieder ermittelt.