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

List Email UIDs

List the UIDs of each email in a mailbox.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

local imap = chilkat.Imap.new()

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

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

-- Select an IMAP mailbox
success = imap:select_mailbox("Inbox")
if not success then
    print(imap.last_error_text)
    return
end

-- Get the message IDs of all the emails in the mailbox
-- We can choose to fetch UIDs or sequence numbers.
local fetchUids = true
local messageSet = chilkat.MessageSet.new()
success = imap:query_mbx("ALL", fetchUids, messageSet)
if not success then
    print(imap.last_error_text)
    return
end

local i = 0
local n = messageSet.count
while i < n do
    print(messageSet:get_id(i))
    i = i + 1
end

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