Sample code for 30+ languages & platforms
Delphi DLL

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 Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
source: HCkEmail;
bdMime: HCkBinData;
email: HCkEmail;

begin
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) then
  begin
    Memo1.Lines.Add(CkEmail__lastErrorText(email));
    Exit;
  end;

Memo1.Lines.Add('Loaded subject: ' + CkEmail__subject(email));

CkEmail_Dispose(source);
CkBinData_Dispose(bdMime);
CkEmail_Dispose(email);