Delphi DLL
Delphi DLL
Find the "Sent" IMAP Mailbox
See more IMAP Examples
Find the "Sent" IMAP mailbox. Also finds the Junk and Trash mailboxes..Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Imap, Mailboxes;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
imap: HCkImap;
refName: PWideChar;
wildcardedMailbox: PWideChar;
subscribed: Boolean;
mboxes: HCkMailboxes;
i: Integer;
begin
success := False;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
imap := CkImap_Create();
CkImap_putSsl(imap,True);
CkImap_putPort(imap,993);
success := CkImap_Connect(imap,'imap.yourmailserver.com');
if (success = False) then
begin
Memo1.Lines.Add(CkImap__lastErrorText(imap));
Exit;
end;
// Login or authenticate in some way..
success := CkImap_Login(imap,'your_login','your_password');
if (success = False) then
begin
Memo1.Lines.Add(CkImap__lastErrorText(imap));
Exit;
end;
// Get the list of mailboxes.
refName := '';
wildcardedMailbox := '*';
subscribed := False;
mboxes := CkMailboxes_Create();
success := CkImap_MbxList(imap,subscribed,refName,wildcardedMailbox,mboxes);
if (success = False) then
begin
Memo1.Lines.Add(CkImap__lastErrorText(imap));
Exit;
end;
// The mailbox with the "/Sent" flag is the "Sent" mailbox.
// Likewise for Junk and Trash..
i := 0;
while i < CkMailboxes_getCount(mboxes) do
begin
if (CkMailboxes_HasFlag(mboxes,i,'\\Sent') = True) then
begin
Memo1.Lines.Add('Sent mailbox: ' + CkMailboxes__getName(mboxes,i));
end;
if (CkMailboxes_HasFlag(mboxes,i,'\\Junk') = True) then
begin
Memo1.Lines.Add('Junk mailbox: ' + CkMailboxes__getName(mboxes,i));
end;
if (CkMailboxes_HasFlag(mboxes,i,'\\Trash') = True) then
begin
Memo1.Lines.Add('Trash mailbox: ' + CkMailboxes__getName(mboxes,i));
end;
i := i + 1;
end;
// Disconnect from the IMAP server.
success := CkImap_Disconnect(imap);
CkImap_Dispose(imap);
CkMailboxes_Dispose(mboxes);
end;