Sample code for 30+ languages & platforms
PowerBuilder

Find the "Sent" IMAP Mailbox

See more IMAP Examples

Find the "Sent" IMAP mailbox. Also finds the Junk and Trash mailboxes..

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Imap
string ls_RefName
string ls_WildcardedMailbox
integer li_Subscribed
oleobject loo_Mboxes
integer i

li_Success = 0

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

loo_Imap = create oleobject
li_rc = loo_Imap.ConnectToNewObject("Chilkat.Imap")
if li_rc < 0 then
    destroy loo_Imap
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Imap.Ssl = 1
loo_Imap.Port = 993
li_Success = loo_Imap.Connect("imap.yourmailserver.com")
if li_Success = 0 then
    Write-Debug loo_Imap.LastErrorText
    destroy loo_Imap
    return
end if

// Login or authenticate in some way..
li_Success = loo_Imap.Login("your_login","your_password")
if li_Success = 0 then
    Write-Debug loo_Imap.LastErrorText
    destroy loo_Imap
    return
end if

// Get the list of mailboxes.
ls_RefName = ""
ls_WildcardedMailbox = "*"
li_Subscribed = 0

loo_Mboxes = create oleobject
li_rc = loo_Mboxes.ConnectToNewObject("Chilkat.Mailboxes")

li_Success = loo_Imap.MbxList(li_Subscribed,ls_RefName,ls_WildcardedMailbox,loo_Mboxes)
if li_Success = 0 then
    Write-Debug loo_Imap.LastErrorText
    destroy loo_Imap
    destroy loo_Mboxes
    return
end if

// The mailbox with the "/Sent" flag is the "Sent" mailbox.
// Likewise for Junk and Trash..
i = 0
do while i < loo_Mboxes.Count
    if loo_Mboxes.HasFlag(i,"\Sent") = 1 then
        Write-Debug "Sent mailbox: " + loo_Mboxes.GetName(i)
    end if

    if loo_Mboxes.HasFlag(i,"\Junk") = 1 then
        Write-Debug "Junk mailbox: " + loo_Mboxes.GetName(i)
    end if

    if loo_Mboxes.HasFlag(i,"\Trash") = 1 then
        Write-Debug "Trash mailbox: " + loo_Mboxes.GetName(i)
    end if

    i = i + 1
loop

// Disconnect from the IMAP server.
li_Success = loo_Imap.Disconnect()


destroy loo_Imap
destroy loo_Mboxes