![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Fetch Full Email Given Email HeaderWhen you fetch email headers using UIDs instead of sequence numbers, the email object (which includes only the header) will have auto-generated
The Chilkat Email object offers a Note: This example requires Chilkat v11.0.0 or greater.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Imap, Email; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; imap: HCkImap; emailHeader: HCkEmail; emailFull: HCkEmail; uid: Integer; isUid: Boolean; uidFromCkxHeader: Integer; begin success := False; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. imap := CkImap_Create(); // Connect to an IMAP server. // Use TLS CkImap_putSsl(imap,True); CkImap_putPort(imap,993); success := CkImap_Connect(imap,'imap.example.com'); if (success = False) then begin Memo1.Lines.Add(CkImap__lastErrorText(imap)); Exit; end; // Login success := CkImap_Login(imap,'***','***'); if (success = False) then begin Memo1.Lines.Add(CkImap__lastErrorText(imap)); Exit; end; // Select an IMAP mailbox success := CkImap_SelectMailbox(imap,'Inbox'); if (success = False) then begin Memo1.Lines.Add(CkImap__lastErrorText(imap)); Exit; end; emailHeader := CkEmail_Create(); emailFull := CkEmail_Create(); uid := 2014; isUid := True; // Fetch only the email header success := CkImap_FetchEmail(imap,True,uid,isUid,emailHeader); if (success = False) then begin Memo1.Lines.Add(CkImap__lastErrorText(imap)); Exit; end; // Now fetch the full email uidFromCkxHeader := CkEmail_GetImapUid(emailHeader); if (uidFromCkxHeader < 0) then begin // Failed. Memo1.Lines.Add('No ckx-imap-uid header was found.'); Exit; end; success := CkImap_FetchEmail(imap,False,uid,isUid,emailFull); if (success = False) then begin Memo1.Lines.Add(CkImap__lastErrorText(imap)); Exit; end; // OK, we have the full email, do whatever we want... // Disconnect from the IMAP server. success := CkImap_Disconnect(imap); CkImap_Dispose(imap); CkEmail_Dispose(emailHeader); CkEmail_Dispose(emailFull); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.