Sample code for 30+ languages & platforms
Delphi ActiveX

Render an Email to MIME Bytes in a BinData

See more SMTP Examples

Demonstrates the Chilkat MailMan.RenderToMimeBd method, which renders an Email object as MIME bytes and appends the result to a BinData, without sending the email. This example renders a message into a BinData and prints the byte count.

Background: This is the binary version of RenderToMime. A BinData holds raw bytes, which is the right container when you want the rendered MIME as binary — to write it directly to a file or socket, hash it, or hand it to another API expecting a byte buffer — rather than as text.

Chilkat Delphi ActiveX Downloads

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

begin
success := 0;

//  Demonstrates the MailMan.RenderToMimeBd method, which renders an Email object as MIME
//  bytes and appends the result to a BinData (without sending the email).

mailman := TChilkatMailMan.Create(Self);

//  Build the email to render.
email := TChilkatEmail.Create(Self);
email.Subject := 'Rendered email';
email.From := 'alice@example.com';
email.AddTo('Bob','bob@example.com');
email.Body := 'This message is rendered to MIME bytes in a BinData.';

//  Render the MIME into a BinData.
bdMime := TChilkatBinData.Create(Self);

success := mailman.RenderToMimeBd(email.ControlInterface,bdMime.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

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