Sample code for 30+ languages & platforms
Lua

End a POP3 Session (Commit Deletions)

See more POP3 Examples

Demonstrates the Chilkat MailMan.Pop3EndSession method, which ends the current POP3 session by sending the QUIT command. Ending the session normally commits any messages that were marked for deletion during the session. This example begins a session and then ends it.

Background: POP3 deletion is deferred: DELE commands only mark messages during the session, and the server permanently removes them when the client sends QUIT to end the session cleanly. Pop3EndSession is that commit point. If a session is dropped without QUIT (see Pop3EndSessionNoQuit), the server rolls back the pending deletions and the messages remain.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- Demonstrates the MailMan.Pop3EndSession method, which ends the current POP3 session by
-- sending the QUIT command.  Ending the session normally commits any messages that were
-- marked for deletion during the session.

local mailman = chilkat.MailMan.new()

-- Configure the POP3 server connection.
mailman.mail_host = "pop.example.com"
mailman.mail_port = 995
mailman.pop_ssl = true
mailman.pop_username = "user@example.com"
mailman.pop_password = "myPassword"

-- Explicitly begin a POP3 session.

local success = mailman:pop3_begin_session()
if not success then
    print(mailman.last_error_text)
    return
end

-- ... perform mailbox operations here, such as fetching or marking messages for deletion ...

-- End the POP3 session (sends QUIT), committing any pending deletions.
success = mailman:pop3_end_session()
if not success then
    print(mailman.last_error_text)
    return
end

print("POP3 session ended.")