Sample code for 30+ languages & platforms
PowerShell

Process Large POP3 Mailbox

Demonstrates how to read email from a mailbox that may contain a large number of emails.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$mailman = New-Object Chilkat.MailMan

$mailman.MailHost = "pop.example.com"

$mailman.PopUsername = "myLogin"
$mailman.PopPassword = "myPassword"

$mailman.MailPort = 995
$mailman.PopSsl = $true

# Get the list of UIDLs for all emails in the mailbox.
$stUidls = New-Object Chilkat.StringTable
$success = $mailman.FetchUidls($stUidls)
if ($success -eq $false) {
    $($mailman.LastErrorText)
    exit
}

# Download each email by UIDL.
$email = New-Object Chilkat.Email

$count = $stUidls.Count
$i = 0
while ($i -lt $count) {
    # Download the full email.
    $uidl = $stUidls.StringAt($i)
    $success = $mailman.FetchByUidl($uidl,$false,0,$email)
    if ($success -eq $false) {
        $($mailman.LastErrorText)
        exit
    }

    $($i)
    $("UIDL: " + $uidl)
    $("From: " + $email.From)
    $("Subject: " + $email.Subject)

    $i = $i + 1
}

$mailman.Pop3EndSession()