Sample code for 30+ languages & platforms
DataFlex

Get the IMAP UID of an Email

See more Email Object Examples

Demonstrates the Chilkat Email.GetImapUid method. When email headers are downloaded from an IMAP server using Chilkat IMAP, a ckx-imap-uid header field is added to the email, and GetImapUid returns its value. This example sets that header directly to illustrate how the method reads it.

Background: IMAP assigns each message in a mailbox a UID — a stable numeric identifier used to fetch, flag, move, or delete that specific message. Chilkat records it in the ckx-imap-uid header so it stays attached to the downloaded Email object. This is the IMAP counterpart to POP3's UIDL (see the Uidl property), letting an application correlate a local message back to its position on the server.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoEmail
    Integer iTemp1

    //  Demonstrates the GetImapUid method.  When an email is downloaded from an IMAP server
    //  (using Chilkat IMAP), a ckx-imap-uid header field is added, and GetImapUid returns its
    //  value.  Here we set the header directly to show how the method reads it.

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End
    Set ComSubject Of hoEmail To "GetImapUid example"

    //  Normally the IMAP download sets this header; we set it here for demonstration.
    Send ComAddHeaderField To hoEmail "ckx-imap-uid" "482"

    Get ComGetImapUid Of hoEmail To iTemp1
    Showln "IMAP UID = " iTemp1


End_Procedure