Sample code for 30+ languages & platforms
Ruby

Retrieve UIDL's from POP3 Server

Retrieve a list of UIDLs from a POP3 server. UIDLs are unique identifiers, 1 to 70 characters long, composed of characters ranging from 0x21 to 0x7E. These identifiers uniquely distinguish messages within a mailbox and remain consistent across sessions.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

mailman = Chilkat::CkMailMan.new()

mailman.put_MailHost("pop.example.com")

mailman.put_PopUsername("myLogin")
mailman.put_PopPassword("myPassword")

mailman.put_MailPort(995)
mailman.put_PopSsl(true)

stUidls = Chilkat::CkStringTable.new()
success = mailman.FetchUidls(stUidls)
if (success == false)
    print mailman.lastErrorText() + "\n";
    exit
end

# Download each email by UIDL.
email = Chilkat::CkEmail.new()

count = stUidls.get_Count()
i = 0
while i < count
    # Download the full email.
    uidl = stUidls.stringAt(i)
    success = mailman.FetchByUidl(uidl,false,0,email)
    if (success == false)
        print mailman.lastErrorText() + "\n";
        exit
    end

    print i.to_s() + "\n";
    print "UIDL: " + uidl + "\n";
    print "From: " + email.ck_from() + "\n";
    print "Subject: " + email.subject() + "\n";

    i = i + 1
end

mailman.Pop3EndSession()