@MimePartGet
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.
