Sample code for 30+ languages & platforms
Xbase++

Create Email Folder (sub-Mailbox)

How to create a new email folder (sub-mailbox). (In GMail, folders are called "labels". This example would create a new "label" in GMail.)

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oImap

nSuccess := 0

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

oImap := CreateObject("Chilkat.Imap")

oImap:Ssl := 1
oImap:Port := 993

//  Connect to an IMAP server.
nSuccess := oImap:Connect("imap.gmail.com")
IF (nSuccess != 1)
    ? oImap:LastErrorText
    oImap:destroy()
    RETURN
ENDIF

//  Login
nSuccess := oImap:Login("myLogin", "myPassword")
IF (nSuccess != 1)
    ? oImap:LastErrorText
    oImap:destroy()
    RETURN
ENDIF

//  Create the new email folder (sub-mailbox) on the IMAP server.
//  If no folder path is provided, the new folder is a sub-mailbox of Inbox.
nSuccess := oImap:CreateMailbox("newFolder")
IF (nSuccess != 1)
    ? oImap:LastErrorText
    oImap:destroy()
    RETURN
ENDIF

//  (In GMail, folders are called "labels".  
//  This example would create a new "label" in GMail.)

//  Now create a sub-folder under "newFolder".
//  Make sure to use the proper separator char for your IMAP server.
//  The separator char used here is "/".   It is typically "/" or ".".
//  The SeparatorChar property contains the separator char
//  that should be used for the current IMAP session.
nSuccess := oImap:CreateMailbox("newFolder/subFolder_A")
IF (nSuccess != 1)
    ? oImap:LastErrorText
    oImap:destroy()
    RETURN
ENDIF

? "Success."

oImap:destroy()