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

Delete Individual Emails from POP3 Mailbox

Demonstrates how to delete individual emails from a POP3 mailbox.

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.

-- The mailman object is used for receiving (POP3)
-- and sending (SMTP) email.
local mailman = chilkat.MailMan.new()

-- Set the POP3 server's hostname
mailman.mail_host = "pop.example.com"

-- Set the POP3 login/password.
mailman.pop_username = "myLogin"
mailman.pop_password = "myPassword"

-- Set the ImmediateDelete property = false
-- When the DeleteEmail method is called, the POP3 session
-- will remain open and the emails will be deleted all at once
-- when the session closes.
mailman.immediate_delete = false

-- Download email headers.
local bundle = chilkat.EmailBundle.new()
local keepOnServer = true
local headersOnly = true
local numBodyLines = 1
local success = mailman:fetch_all(keepOnServer, headersOnly, numBodyLines, bundle)
if not success then
    print(mailman.last_error_text)
    return
end

local email = chilkat.Email.new()
local i = 0
while i < bundle.message_count do
    bundle:email_at(i, email)

    print("From: " .. email.from)
    print("Subject: " .. email.subject)

    -- If you decide the email is to be deleted, call DeleteEmail.
    -- This marks the email for deletion on the POP3 server.
    success = mailman:delete_email(email)
    if not success then
        print(mailman.last_error_text)
        return
    end

    i = i + 1
end

-- Make sure the POP3 session is ended to finalize the deletes.
success = mailman:pop3_end_session()
if not success then
    print(mailman.last_error_text)
    return
end

print("Success!")