Sample code for 30+ languages & platforms
PowerBuilder

Download POP3 Email using UIDLs

Demonstrates how to download POP3 email by first getting the complete set of UIDLs and then downloading email by calling FetchByUIDL for each UIDL.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Mailman
oleobject loo_StUidls
oleobject loo_Email
integer li_Count
integer i

li_Success = 0

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

// The mailman object is used for receiving (POP3) 
// and sending (SMTP) email.
loo_Mailman = create oleobject
li_rc = loo_Mailman.ConnectToNewObject("Chilkat.MailMan")
if li_rc < 0 then
    destroy loo_Mailman
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Set the POP3 server's hostname
loo_Mailman.MailHost = "pop.example.com"

// Set the POP3 login/password.
loo_Mailman.PopUsername = "myLogin"
loo_Mailman.PopPassword = "myPassword"

loo_StUidls = create oleobject
li_rc = loo_StUidls.ConnectToNewObject("Chilkat.StringTable")

li_Success = loo_Mailman.FetchUidls(loo_StUidls)
if li_Success = 0 then
    Write-Debug loo_Mailman.LastErrorText
    destroy loo_Mailman
    destroy loo_StUidls
    return
end if

loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")

li_Count = loo_StUidls.Count
i = 0
do while i < li_Count
    // Download the full email.
    li_Success = loo_Mailman.FetchByUidl(loo_StUidls.StringAt(i),0,0,loo_Email)
    if li_Success = 0 then
        Write-Debug loo_Mailman.LastErrorText
        destroy loo_Mailman
        destroy loo_StUidls
        destroy loo_Email
        return
    end if

    Write-Debug string(i)
    Write-Debug "From: " + loo_Email.From
    Write-Debug "Subject: " + loo_Email.Subject

    i = i + 1
loop

loo_Mailman.Pop3EndSession()


destroy loo_Mailman
destroy loo_StUidls
destroy loo_Email