Sample code for 30+ languages & platforms
Lua Requires Chilkat v11.0.0+

List IMAP Mailboxes with Reference

Demonstrates how to list all sub-mailboxes within a specified context. In this case, we list all mailboxes under "INBOX.vendors".

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local imap = chilkat.Imap.new()

-- Connect to an IMAP server.
-- Use TLS
imap.ssl = true
imap.port = 993
local success = imap:connect("imap.example.com")
if not success then
    print(imap.last_error_text)
    return
end

-- Login
success = imap:login("admin@chilkatsoft.com", "myPassword")
if not success then
    print(imap.last_error_text)
    return
end

-- Get the list of mailboxes.
local refName = ""
local wildcardedMailbox = "*"
local subscribed = false

local mboxes = chilkat.Mailboxes.new()
success = imap:mbx_list(subscribed, refName, wildcardedMailbox, mboxes)
if not success then
    print(imap.last_error_text)
    return
end

local i = 0
while i < mboxes.count do
    print(mboxes:get_name(i))
    i = i + 1
end

-- Sample output looks like this:
-- INBOX.vendors.shareit
-- INBOX.vendors.paypal
-- INBOX.vendors.dell
-- INBOX.vendors.inMotion
-- INBOX.vendors.myhosting
-- INBOX.vendors.peer1

-- Disconnect from the IMAP server.
success = imap:disconnect()