Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set imap [new_CkImap]

CkImap_put_Ssl $imap 1
CkImap_put_Port $imap 993

# Connect to an IMAP server.
set success [CkImap_Connect $imap "imap.gmail.com"]
if {$success != 1} then {
    puts [CkImap_lastErrorText $imap]
    delete_CkImap $imap
    exit
}

# Login
set success [CkImap_Login $imap "myLogin" "myPassword"]
if {$success != 1} then {
    puts [CkImap_lastErrorText $imap]
    delete_CkImap $imap
    exit
}

# 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.
set success [CkImap_CreateMailbox $imap "newFolder"]
if {$success != 1} then {
    puts [CkImap_lastErrorText $imap]
    delete_CkImap $imap
    exit
}

# (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.
set success [CkImap_CreateMailbox $imap "newFolder/subFolder_A"]
if {$success != 1} then {
    puts [CkImap_lastErrorText $imap]
    delete_CkImap $imap
    exit
}

puts "Success."

delete_CkImap $imap