Sample code for 30+ languages & platforms
Delphi ActiveX

Email Body - Plain Text and/or HTML

Any given email may have a plain-text body, an HTML body, or both. The Body property will return the HTML body by default (if it exists) otherwise it will return the plain-text body. There are methods for checking to see if an email has a particular body (HasPlainTextBody and HasHtmlBody) and there are methods for getting a specific body: GetHtmlBody, GetPlainTextBody.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
email: TChilkatEmail;
bText: Integer;
bHtml: Integer;

begin
success := 0;

email := TChilkatEmail.Create(Self);

// Load an email from a .eml

success := email.LoadEml('something.eml');
if (success <> 1) then
  begin
    Memo1.Lines.Add(email.LastErrorText);
    Exit;
  end;

// Display the default Body:
Memo1.Lines.Add(email.Body);

// If a plain-text body is present, display it:

bText := email.HasPlainTextBody();
if (bText = 1) then
  begin
    Memo1.Lines.Add(email.GetPlainTextBody());
  end;

// If an HTML body is present, display the HTML source:

bHtml := email.HasHtmlBody();
if (bHtml = 1) then
  begin
    Memo1.Lines.Add(email.GetHtmlBody());
  end;
end;