Sample code for 30+ languages & platforms
Delphi DLL

IMAP using HTTP Proxy

Demonstrates how to connect to an IMAP server through an HTTP proxy.

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, Imap;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
imap: HCkImap;

begin
success := False;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

imap := CkImap_Create();

// To connect through an HTTP proxy, set the HttpProxyHostname
// and HttpProxyPort properties to the hostname (or IP address)
// and port of the HTTP proxy.  Typical port numbers used by
// HTTP proxy servers are 3128 and 8080.
CkImap_putHttpProxyHostname(imap,'www.myhttpproxy.com');
CkImap_putHttpProxyPort(imap,3128);

// Important:  Your HTTP proxy server must allow non-HTTP
// traffic to pass.  Otherwise this does not work.

// Connect to an IMAP server through the HTTP proxy.
// Use TLS
CkImap_putSsl(imap,True);
CkImap_putPort(imap,993);
success := CkImap_Connect(imap,'imap.example.com');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkImap__lastErrorText(imap));
    Exit;
  end;

// ...
// ..

CkImap_Dispose(imap);

end;