Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerShell) Process Large POP3 MailboxDemonstrates how to read email from a mailbox that may contain a large number of emails.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # 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. $sa = $mailman.GetUidls() if ($mailman.LastMethodSuccess -eq $false) { $($mailman.LastErrorText) exit } $numEmails = $sa.Count if ($numEmails -eq 0) { $("Mailbox is empty") exit } $chunkSize = 6 # Download the emails in chunks of 6 emails each. $chunkBeginIdx = 0 $chunkEndIdx = $chunkSize - 1 if ($chunkEndIdx -ge $numEmails) { $chunkEndIdx = $numEmails - 1 } $saChunk = New-Object Chilkat.StringArray while (($chunkBeginIdx -lt $numEmails)) { $([string]$chunkBeginIdx + " to " + $chunkEndIdx) # Build a chunk of UIDLs. $saChunk.Clear() for ($i = $chunkBeginIdx; $i -le $chunkEndIdx; $i++) { $saChunk.Append($sa.GetString($i)) } # Log the UIDLs in this chunk... $chunkStr = $saChunk.SaveToText() $($chunkStr) # Download this chunk of email from the POP3 server. $bundle = $mailman.FetchMultiple($saChunk) if ($mailman.LastMethodSuccess -eq $false) { $($mailman.LastErrorText) exit } $("Downloaded " + $bundle.MessageCount + " emails.") $("----") # Process the bundle... # (your application's processing code goes here...) # Get the next chunk... $chunkBeginIdx = $chunkBeginIdx + $chunkSize $chunkEndIdx = $chunkEndIdx + $chunkSize if ($chunkEndIdx -ge $numEmails) { $chunkEndIdx = $numEmails - 1 } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.