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) Fetch 1st N Headers of Search ResultsCalls Search to get a message set, then downloads the 1st N messages in the message set. There are two equivalent ways of doing it: (1) iterate from 0 to N-1 and download each message individually, or (2) create a new message set that contains the 1st N messages and pass it to FetchHeaders. Both are demonstrated here.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $imap = New-Object Chilkat.Imap # Connect to an IMAP server. # Use TLS $imap.Ssl = $true $imap.Port = 993 $success = $imap.Connect("imap.someMailServer.com") if ($success -ne $true) { $($imap.LastErrorText) exit } # Login $success = $imap.Login("****","****") if ($success -ne $true) { $($imap.LastErrorText) exit } # Select an IMAP mailbox $success = $imap.SelectMailbox("Inbox") if ($success -ne $true) { $($imap.LastErrorText) exit } # We can choose to fetch UIDs or sequence numbers. $fetchUids = $true # Get the message IDs of all the emails in the mailbox $messageSet = $imap.Search("ALL",$fetchUids) if ($imap.LastMethodSuccess -eq $false) { $($imap.LastErrorText) exit } $numFound = $messageSet.Count if ($numFound -eq 0) { $("No messages found.") exit } # Get the 1st 10 messages in messageSet. $upperBound = 10 if ($numFound -lt $upperBound) { $upperBound = $numFound } $i = 0 $bUid = $messageSet.HasUids while ($i -lt $upperBound) { $email = $imap.FetchSingleHeader($messageSet.GetId($i),$bUid) if ($imap.LastMethodSuccess -eq $false) { $($imap.LastErrorText) exit } else { # Do whatever is needed with the email.. # .... } $i = $i + 1 } # Alternatively, create a new message set containing the 1st 10 message id's (UID's) # from the search results message set: $firstTen = New-Object Chilkat.MessageSet for ($i = 0; $i -le $upperBound - 1; $i++) { $firstTen.InsertId($messageSet.GetId($i)) } # Download the 1st ten headers: $bundle = $imap.FetchHeaders($firstTen) if ($imap.LastMethodSuccess -eq $false) { $($imap.LastErrorText) exit } # Other examples show how to iterate over the emails contained within the bundle... # Disconnect from the IMAP server. $success = $imap.Disconnect() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.