Delphi ActiveX
Delphi ActiveX
Find the "Sent" IMAP Mailbox
See more IMAP Examples
Find the "Sent" IMAP mailbox. Also finds the Junk and Trash mailboxes..Chilkat Delphi ActiveX Downloads
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;
imap: TChilkatImap;
refName: WideString;
wildcardedMailbox: WideString;
subscribed: Integer;
mboxes: TMailboxes;
i: Integer;
begin
success := 0;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
imap := TChilkatImap.Create(Self);
imap.Ssl := 1;
imap.Port := 993;
success := imap.Connect('imap.yourmailserver.com');
if (success = 0) then
begin
Memo1.Lines.Add(imap.LastErrorText);
Exit;
end;
// Login or authenticate in some way..
success := imap.Login('your_login','your_password');
if (success = 0) then
begin
Memo1.Lines.Add(imap.LastErrorText);
Exit;
end;
// Get the list of mailboxes.
refName := '';
wildcardedMailbox := '*';
subscribed := 0;
mboxes := TMailboxes.Create(Self);
success := imap.MbxList(subscribed,refName,wildcardedMailbox,mboxes.ControlInterface);
if (success = 0) then
begin
Memo1.Lines.Add(imap.LastErrorText);
Exit;
end;
// The mailbox with the "/Sent" flag is the "Sent" mailbox.
// Likewise for Junk and Trash..
i := 0;
while i < mboxes.Count do
begin
if (mboxes.HasFlag(i,'\\Sent') = 1) then
begin
Memo1.Lines.Add('Sent mailbox: ' + mboxes.GetName(i));
end;
if (mboxes.HasFlag(i,'\\Junk') = 1) then
begin
Memo1.Lines.Add('Junk mailbox: ' + mboxes.GetName(i));
end;
if (mboxes.HasFlag(i,'\\Trash') = 1) then
begin
Memo1.Lines.Add('Trash mailbox: ' + mboxes.GetName(i));
end;
i := i + 1;
end;
// Disconnect from the IMAP server.
success := imap.Disconnect();
end;