Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loMailman
LOCAL loStUidls
LOCAL loEmail
LOCAL lnCount
LOCAL i
LOCAL lcUidl

lnSuccess = 0

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

loMailman = CreateObject('Chilkat.MailMan')

loMailman.MailHost = "pop.example.com"

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

loMailman.MailPort = 995
loMailman.PopSsl = 1

loStUidls = CreateObject('Chilkat.StringTable')
lnSuccess = loMailman.FetchUidls(loStUidls)
IF (lnSuccess = 0) THEN
    ? loMailman.LastErrorText
    RELEASE loMailman
    RELEASE loStUidls
    CANCEL
ENDIF

* Download each email by UIDL.
loEmail = CreateObject('Chilkat.Email')

lnCount = loStUidls.Count
i = 0
DO WHILE i < lnCount
    * Download the full email.
    lcUidl = loStUidls.StringAt(i)
    lnSuccess = loMailman.FetchByUidl(lcUidl,0,0,loEmail)
    IF (lnSuccess = 0) THEN
        ? loMailman.LastErrorText
        RELEASE loMailman
        RELEASE loStUidls
        RELEASE loEmail
        CANCEL
    ENDIF

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

    i = i + 1
ENDDO

loMailman.Pop3EndSession()

RELEASE loMailman
RELEASE loStUidls
RELEASE loEmail