Sample code for 30+ languages & platforms
Delphi DLL

Transition from MailMan.TransferMail to MailMan.FetchAll

Provides instructions for replacing deprecated TransferMail method calls with FetchAll.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MailMan, EmailBundle;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
mailman: HCkMailMan;
bundleObj: HCkEmailBundle;
keepOnServer: Boolean;
headersOnly: Boolean;
numBodyLines: Integer;
bundleOut: HCkEmailBundle;

begin
success := False;

mailman := CkMailMan_Create();

// ...
// ...

// ------------------------------------------------------------------------
// The TransferMail method is deprecated:

bundleObj := CkMailMan_TransferMail(mailman);
if (CkMailMan_getLastMethodSuccess(mailman) = False) then
  begin
    Memo1.Lines.Add(CkMailMan__lastErrorText(mailman));
    Exit;
  end;

// ...
// ...

CkEmailBundle_Dispose(bundleObj);

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

keepOnServer := False;
headersOnly := False;
// Irrelevent because we are not downloading headers-only.
numBodyLines := 0;

bundleOut := CkEmailBundle_Create();
success := CkMailMan_FetchAll(mailman,keepOnServer,headersOnly,numBodyLines,bundleOut);
if (success = False) then
  begin
    Memo1.Lines.Add(CkMailMan__lastErrorText(mailman));
    Exit;
  end;

CkMailMan_Dispose(mailman);
CkEmailBundle_Dispose(bundleOut);

end;