MailData - Anhänge
obj -> MailData(int1, alpha2[, alpha3[, alpha4]]) : int
E-Mail definieren - Anhänge
Details
- obj: Mail-Deskriptor
- int1: Datentyp (siehe Text)
- alpha2: Dateninhalt
- alpha3: erweiterter Dateninhalt (optional)
- alpha4: Objektreferenz / "Delivery Status Notification"-Kommandos (optional)
- Resultat:
intErgebnis - Siehe: Verwandte Befehle , Nachrichtenkopf , Nachrichteninhalt ,
MailOpen (),MailClose ()
Anhänge
Wird als Nachrichteninhalt eine EML-Datei (siehe _MailFileEML ) angegeben, können keine Anhänge hinzugefügt werden.
Zum Textinhalt kann der Entwickler Anhänge definieren, die aus dem Inhalt externer Dateien zusammengestellt werden. Dabei ist die Angabe eines MIME-Typs (Multipurpose Internet Mail Extension) notwendig. Der MIME-Typ gibt den Typ der zu übertragenden Daten und eine Kodierung für die entsprechende Anhangdatei an. Durch die Festlegung der Anhangtypen ist auch definiert, wie die Anhänge in die E-Mail eingebunden und von dort aus angezeigt werden. Folgende Konstanten sind für die Angabe des MIME-Typs definiert:
- Typ: Konstante in (int1)
- allgemeiner Datentyp:
_MimeApp - Postscript-Datei:
_MimeAppPS - RTF-Datei:
_MimeAppRTF - PDF-Datei:
_MimeAppPDF - ZIP-Datei:
_MimeAppZIP - DOC-Datei:
_MimeAppMSWORD - GIF-Datei:
_MimeImageGIF - JPG-Datei:
_MimeImageJPEG - PNG-Datei:
_MimeImagePNG - TIF-Datei:
_MimeImageTIFF - anderer Typ mit base64 kodiert:
_MimeOtherB64 - anderer Typ mit quoted-printable kodiert:
_MimeOtherQP - anderer Typ mit 8-Bit kodiert:
_MimeOther8B
Bei allen MIME-Typen wird standardmäßig eine base64-Kodierung verwendet. Über die Konstanten _MimeOther... können auch andere Kodierungen festgelegt werden. Dabei muss der Entwickler dann einen gültigen Typ in (alpha3) übergeben. Dieser Typ muss nicht den oben aufgelisteten Typen entsprechen. Die _MimeOther...-Konstanten bieten damit auch eine Möglichkeit, Datentypen anzugeben, die nicht von CONZEPT 16 definiert sind. Für binäre Daten wird zwingend base64-Kodierung benötigt.
Die Gesamtgröße der E-Mail (Text und Anhänge) dürfen die maximale Puffergröße von 32 MB (8 MB unter Linux-Systemen) nicht überschreiten (siehe MailOpen () ).
Beispiele:
tHdlMail->MailData(_MailFile | _MimeApp, _Sys->spPathTemp + 'update.v01');
tHdlMail->MailData(_MailFile | _MimeImageJPEG, _Sys->spPathTemp + 'info.jpg');
tHdlMail->MailData(_MailFile | _MimeOtherB64, _Sys->spPathTemp + 'info.wav', 'audio/x-wav');
Versand von eingebetteten Objekten
Beim Versenden von HTML-Mails können Objekte, die im HTML-Code referenziert werden, als Bestandteile der E-Mail mitgesendet werden. Dazu wird bei diesen Objekten zusätzlich die Option _MimeRelated verwendet und die HTML-Referenz in (alpha4) angegeben.
Damit die Objekte auch in E-Mails auf Apple-Geräten korrekt eingebettet werden, muss zusätzlich die Option _MimeContentID angegeben werden. Die Angabe der Referenz erfolgt in (alpha4) in der Form 'cid:<Name>' .
Im folgenden Beispiel steht ein Bild am Textanfang und ein weiteres am Textende. Der Name des Bildes muss im HTML-Text und beim Anhängen des Bildes identisch sein:
Inhalt der Datei mailbody.html:
<html>
<body>
<img src="http://test.vectorsoft.de/mailheader.jpg"/>
<br/><br/>
Sehr geehrte Damen und Herren,<br/>
<br/>
<-- Mailtext -->
<img src="cid:mailbody.png">
<br/><br/>
Mit freundlichen Grüßen<br/>
<b>vectorsoft AG</b>
<img src="mailfooter.bmp"/>
</body>
</html>
Aufrufe in der Prozedur:
tHdlMail->MailData(_MailFile | _MimeTextHtml | _MimeTE_8B, _Sys->spPathTemp + 'mailbody.html');
tHdlMail->MailData(_MailFile | _MimeImageJPEG | _MimeRelated, _Sys->spPathTemp + 'mailheader.jpg', '', 'http://test.vectorsoft.de/mailheader.jpg');
tHdlMail->MailData(_MailFile | _MimeImagePNG | _MimeRelated | _MimeContentID, _Sys->spPathTemp + 'mailbody.png', '', 'cid:mailbody.png');
tHdlMail->MailData(_MailFile | _MimeOtherB64 | _MimeRelated, _Sys->spPathTemp + 'mailfooter.bmp', 'image/bmp', 'mailfooter.bmp');
Sowohl die Angabe einer vollständigen URI als auch die Angabe eines symbolischen Namens für das Bild ist möglich. Somit kann eine komplette HTML-Seite ohne Veränderung per E-Mail versendet werden, wenn die Bilder mit _MimeRelated eingebettet werden.
Weitere Informationen finden Sie unter:
Der Befehl gibt folgende Fehlerwerte zurück:
- Fehlerwert: Bedeutung
0: ok, kein Fehler13: Datentyp unzulässig14: Datei nicht vorhanden16: Format unzulässig19: interner Fehler
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Deskriptor ungültig