Sample code for 30+ languages & platforms
Delphi ActiveX

Transition from MailMan.FetchEmail to MailMan.FetchByUidl

Provides instructions for replacing deprecated FetchEmail method calls with FetchByUidl.

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;
mailman: TChilkatMailMan;
uidl: WideString;
emailObj: IChilkatEmail;
headerOnly: Integer;
numBodyLines: Integer;
emailOut: TChilkatEmail;

begin
success := 0;

mailman := TChilkatMailMan.Create(Self);

// ...
// ...

uidl := '123';

// ------------------------------------------------------------------------
// The FetchEmail method is deprecated:

emailObj := mailman.FetchEmail(uidl);
if (mailman.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

// ...
// ...

// ------------------------------------------------------------------------
// Do the equivalent using FetchByUidl.
// Your application creates a new, empty Email object which is passed 
// in the last argument and filled upon success.

headerOnly := 0;
// Irrelevant because we are not downloading headers-only.
numBodyLines := 0;

emailOut := TChilkatEmail.Create(Self);
success := mailman.FetchByUidl(uidl,headerOnly,numBodyLines,emailOut.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;
end;