C
C
Load an Email from MIME in a BinData
See more Email Object Examples
Demonstrates the Chilkat Email.SetFromMimeBd method, which loads an email from the MIME stored in a BinData object. On success, it replaces the entire current email. This example serializes one email into a BinData with GetMimeBd, then reconstructs it in a second object.
Background: This is the binary counterpart to
SetFromMimeText and SetFromMimeSb. When a message's raw MIME arrives as bytes — read from a file, a socket, or a database blob into a BinData — loading it directly avoids any lossy or awkward byte-to-text conversion, which matters because MIME can carry binary transfer encodings.Chilkat C Downloads
#include <C_CkEmail.h>
#include <C_CkBinData.h>
void ChilkatSample(void)
{
BOOL success;
HCkEmail source;
HCkBinData bdMime;
HCkEmail email;
success = FALSE;
// Demonstrates the SetFromMimeBd method, which loads an email from MIME stored in a BinData
// object. On success, it replaces the entire current email.
// Build a source email and serialize its MIME into a BinData.
source = CkEmail_Create();
CkEmail_putSubject(source,"Source message");
CkEmail_putFrom(source,"alice@example.com");
CkEmail_putBody(source,"Hello from a BinData.");
bdMime = CkBinData_Create();
CkEmail_GetMimeBd(source,bdMime);
// Load a new email object from the BinData MIME.
email = CkEmail_Create();
success = CkEmail_SetFromMimeBd(email,bdMime);
if (success == FALSE) {
printf("%s\n",CkEmail_lastErrorText(email));
CkEmail_Dispose(source);
CkBinData_Dispose(bdMime);
CkEmail_Dispose(email);
return;
}
printf("Loaded subject: %s\n",CkEmail_subject(email));
CkEmail_Dispose(source);
CkBinData_Dispose(bdMime);
CkEmail_Dispose(email);
}