Xbase++ Requires Chilkat v11.0.0+
Xbase++
Parsing a Multipart/Digest Email
See more Email Object Examples
This example demonstrates how to parse a multipart/digest email. An email parsed by this sample could have a MIME structure as follows:
multipart/mixed
text/plain
text/plain
multipart/digest
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
message/rfc822
text/plain
Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL cEmlPath
LOCAL oEmail
LOCAL nNumDigests
LOCAL oEDigest
LOCAL i
LOCAL m
nSuccess := 0
cEmlPath := "qa_data/eml/multipart_digest.eml"
oEmail := CreateObject("Chilkat.Email")
// For this example, we'll load the email from a .eml.
// The email could alternatively be loaded as a result of downloading from an IMAP or POP3 server..
nSuccess := oEmail:LoadEml(cEmlPath)
IF (nSuccess == 0)
? oEmail:LastErrorText
oEmail:destroy()
RETURN
ENDIF
nNumDigests := oEmail:NumDigests
? "num digests = " + Str(nNumDigests)
oEDigest := CreateObject("Chilkat.Email")
i := 0
DO WHILE i < nNumDigests
oEmail:GetDigestEmail(i, oEDigest)
? Str(i) + ":" + oEDigest:FromAddress + ", " + oEDigest:Subject
m := oEDigest:GetHeaderField("Message")
IF (oEDigest:LastMethodSuccess == 1)
? " Message = " + m
ENDIF
i := i + 1
ENDDO
oEmail:destroy()
oEDigest:destroy()