Lua Requires Chilkat v11.0.0+
Lua
List IMAP Mailboxes
List the mailboxes available within an IMAP account.Chilkat Lua Downloads
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("MY-IMAP-DOMAIN")
if not success then
print(imap.last_error_text)
return
end
-- Login
success = imap:login("MY-IMAP-LOGIN", "MY-IMAP-PASSWORD")
if not success then
print(imap.last_error_text)
return
end
local refName = ""
-- refName is usually set to an empty string.
-- A non-empty reference name argument is the name of a mailbox or a level of
-- mailbox hierarchy, and indicates the context in which the mailbox
-- name is interpreted.
-- Select all mailboxes matching this pattern:
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.oldSupport
-- INBOX.vendors.paypal
-- INBOX.sales
-- INBOX.lists
-- INBOX.Drafts
-- INBOX.vendors.dell
-- INBOX.Trash
-- INBOX.invoiceRequests
-- INBOX.purchases
-- INBOX.vendors.inMotion
-- INBOX.oldEmail
-- INBOX.vendors
-- INBOX.lists.python
-- INBOX.vendors.myhosting
-- INBOX.Templates
-- INBOX.friends
-- INBOX.bounceSamples
-- INBOX.lists.ruby
-- INBOX.vendors.peer1
-- INBOX.Sent
-- INBOX.Junk
-- INBOX
-- Disconnect from the IMAP server.
success = imap:disconnect()