Sample code for 30+ languages & platforms
Delphi ActiveX Requires Chilkat v11.0.0+

Transition from MailMan.TransferMultipleMime to MailMan.FetchMimeBd

Provides instructions for replacing deprecated TransferMultipleMime method calls with FetchMimeBd.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
mailman: TChilkatMailMan;
saUidls: TCkStringArray;
stUidls: TChilkatStringTable;
sa: ICkStringArray;
bdMime: TChilkatBinData;
numUidls: Integer;
i: Integer;

begin
success := 0;

mailman := TChilkatMailMan.Create(Self);

//  ...
//  ...

saUidls := TCkStringArray.Create(Self);
saUidls.Append('aaa');
saUidls.Append('bbb');
saUidls.Append('ccc');

stUidls := TChilkatStringTable.Create(Self);
stUidls.Append('aaa');
stUidls.Append('bbb');
stUidls.Append('ccc');

//  ------------------------------------------------------------------------
//  The TransferMultipleMime method is deprecated:

sa := mailman.TransferMultipleMime(saUidls.ControlInterface);
if (mailman.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(mailman.LastErrorText);
    Exit;
  end;

//  ...
//  ...

//  ------------------------------------------------------------------------
//  Do the equivalent using FetchMimeBd.

mailman.ImmediateDelete := 0;

success := 0;
bdMime := TChilkatBinData.Create(Self);
numUidls := stUidls.Count;
i := 0;
while i < numUidls do
  begin
    success := mailman.FetchMimeBd(stUidls.StringAt(i),bdMime.ControlInterface);
    //  ...

    //  Mark the email for deletion.
    success := mailman.DeleteByUidl(stUidls.StringAt(i));
    //  ...

    i := i + 1;
  end;

//  emails marked for deletion will be deleted at this time
success := mailman.Pop3EndSession();