Sample code for 30+ languages & platforms
Lianja

Retrieve UIDL's from POP3 Server

Retrieve a list of UIDLs from a POP3 server. UIDLs are unique identifiers, 1 to 70 characters long, composed of characters ranging from 0x21 to 0x7E. These identifiers uniquely distinguish messages within a mailbox and remain consistent across sessions.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loMailman = createobject("CkMailMan")

loMailman.MailHost = "pop.example.com"

loMailman.PopUsername = "myLogin"
loMailman.PopPassword = "myPassword"

loMailman.MailPort = 995
loMailman.PopSsl = .T.

loStUidls = createobject("CkStringTable")
llSuccess = loMailman.FetchUidls(loStUidls)
if (llSuccess = .F.) then
    ? loMailman.LastErrorText
    release loMailman
    release loStUidls
    return
endif

// Download each email by UIDL.
loEmail = createobject("CkEmail")

lnCount = loStUidls.Count
i = 0
do while i < lnCount
    // Download the full email.
    lcUidl = loStUidls.StringAt(i)
    llSuccess = loMailman.FetchByUidl(lcUidl,.F.,0,loEmail)
    if (llSuccess = .F.) then
        ? loMailman.LastErrorText
        release loMailman
        release loStUidls
        release loEmail
        return
    endif

    ? str(i)
    ? "UIDL: " + lcUidl
    ? "From: " + loEmail.From
    ? "Subject: " + loEmail.Subject

    i = i + 1
enddo

loMailman.Pop3EndSession()


release loMailman
release loStUidls
release loEmail