Sample code for 30+ languages & platforms
PureBasic

Compare Two Emails by UIDL

See more Email Object Examples

Demonstrates the Chilkat Email.UidlEquals method, which returns true if this email's UIDL equals the UIDL of the email passed as the argument. The comparison is meaningful for messages obtained through POP3. This example gives two emails the same UIDL and compares them.

Background: A POP3 UIDL is a stable, unique identifier a server assigns to each message in a mailbox. Comparing UIDLs is how a client decides whether two message references point to the same server message — the basis for "leave messages on server" logic, where an app downloads a message once and skips it on later checks by remembering its UIDL.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the UidlEquals method, which returns true if this email's UIDL equals the
    ;  UIDL of the email passed as the argument.  UIDLs are POP3 message identifiers.

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

    CkEmail::ckAddHeaderField(email1,"X-UIDL","0000000123abcdef")

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

    CkEmail::ckAddHeaderField(email2,"X-UIDL","0000000123abcdef")

    ;  Compare the two emails' UIDLs.
    eq.i = CkEmail::ckUidlEquals(email1,email2)

    If eq = 1
        Debug "The two emails have the same UIDL."
    Else
        Debug "The two emails have different UIDLs."
    EndIf



    CkEmail::ckDispose(email1)
    CkEmail::ckDispose(email2)


    ProcedureReturn
EndProcedure