Sample code for 30+ languages & platforms
Delphi ActiveX

Get an Email's MIME into a BinData

See more Email Object Examples

Demonstrates the Chilkat Email.GetMimeBd method, which serializes the complete RFC822/MIME message (headers, body representations, related items, and attachments) and appends the bytes to a BinData object. This example builds a message, serializes it to a BinData, and prints the byte count.

Background: A BinData holds raw bytes, which is the right container when you want the MIME as binary rather than text — for example to write it directly to a file or socket, hash it, or hand it to another API that expects a byte buffer. It is the binary counterpart to GetMime (string) and GetMimeSb (StringBuilder).

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
email: TChilkatEmail;
bdMime: TChilkatBinData;

begin
success := 0;

//  Demonstrates the GetMimeBd method, which serializes the complete RFC822/MIME message
//  (headers, bodies, related items, and attachments) and appends the bytes to a BinData
//  object.

email := TChilkatEmail.Create(Self);
email.Subject := 'GetMimeBd example';
email.From := 'alice@example.com';
email.AddTo('Bob','bob@example.com');
email.Body := 'Hello!';

//  Append the complete MIME to a BinData object.
bdMime := TChilkatBinData.Create(Self);
success := email.GetMimeBd(bdMime.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(email.LastErrorText);
    Exit;
  end;

Memo1.Lines.Add('MIME size (bytes) = ' + IntToStr(bdMime.NumBytes));