Sample code for 30+ languages & platforms
PureBasic

Get the POP3 UIDL of an Email

See more Email Object Examples

Demonstrates the read-only Chilkat Email.Uidl property, which contains the unique message identifier assigned by a POP3 server; the value is also represented by the X-UIDL header field. This example sets X-UIDL directly to illustrate how it maps to the Uidl property (normally the value comes from the POP3 server during download).

Background: A UIDL ("unique ID listing") is POP3's stable identifier for a message in a mailbox — it stays the same across sessions, so a client can remember which messages it has already downloaded and avoid fetching them again. Note this is POP3-specific: IMAP uses its own UID instead, which Chilkat stores in the ckx-imap-uid header rather than in Uidl.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the read-only Email.Uidl property, which contains the unique message
    ;  identifier assigned by a POP3 server.  The value is represented by the X-UIDL header
    ;  field.  Here we set X-UIDL directly to show how it maps to the Uidl property.

    email.i = CkEmail::ckCreate()
    If email.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ;  Normally the POP3 server assigns this; we set it here for demonstration.
    CkEmail::ckAddHeaderField(email,"X-UIDL","0000000123abcdef")

    Debug "Uidl = " + CkEmail::ckUidl(email)


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure