C
C
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 C Downloads
#include <C_CkEmail.h>
void ChilkatSample(void)
{
BOOL success;
const char *emlPath;
HCkEmail email;
int numDigests;
HCkEmail eDigest;
int i;
const char *m;
success = FALSE;
emlPath = "qa_data/eml/multipart_digest.eml";
email = CkEmail_Create();
// 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..
success = CkEmail_LoadEml(email,emlPath);
if (success == FALSE) {
printf("%s\n",CkEmail_lastErrorText(email));
CkEmail_Dispose(email);
return;
}
numDigests = CkEmail_getNumDigests(email);
printf("num digests = %d\n",numDigests);
eDigest = CkEmail_Create();
i = 0;
while (i < numDigests) {
CkEmail_GetDigestEmail(email,i,eDigest);
printf("%d:%s, %s\n",i,CkEmail_fromAddress(eDigest),CkEmail_subject(eDigest));
m = CkEmail_getHeaderField(eDigest,"Message");
if (CkEmail_getLastMethodSuccess(eDigest) == TRUE) {
printf(" Message = %s\n",m);
}
i = i + 1;
}
CkEmail_Dispose(email);
CkEmail_Dispose(eDigest);
}