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
(PHP ActiveX) Process Large POP3 MailboxDemonstrates how to read email from a mailbox that may contain a large number of emails.
<?php // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.MailMan') $mailman = new COM("Chilkat.MailMan"); $mailman->MailHost = 'pop.example.com'; $mailman->PopUsername = 'myLogin'; $mailman->PopPassword = 'myPassword'; $mailman->MailPort = 995; $mailman->PopSsl = 1; // Get the list of UIDLs for all emails in the mailbox. // sa is a Chilkat.StringArray $sa = $mailman->GetUidls(); if ($mailman->LastMethodSuccess == 0) { print $mailman->LastErrorText . "\n"; exit; } $numEmails = $sa->Count; if ($numEmails == 0) { print 'Mailbox is empty' . "\n"; exit; } $chunkSize = 6; // Download the emails in chunks of 6 emails each. $chunkBeginIdx = 0; $chunkEndIdx = $chunkSize - 1; if ($chunkEndIdx >= $numEmails) { $chunkEndIdx = $numEmails - 1; } // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringArray') $saChunk = new COM("Chilkat.StringArray"); while (($chunkBeginIdx < $numEmails)) { print $chunkBeginIdx . ' to ' . $chunkEndIdx . "\n"; // Build a chunk of UIDLs. $saChunk->Clear(); for ($i = $chunkBeginIdx; $i <= $chunkEndIdx; $i++) { $saChunk->Append($sa->getString($i)); } // Log the UIDLs in this chunk... $chunkStr = $saChunk->saveToText(); print $chunkStr . "\n"; // Download this chunk of email from the POP3 server. // bundle is a Chilkat.EmailBundle $bundle = $mailman->FetchMultiple($saChunk); if ($mailman->LastMethodSuccess == 0) { print $mailman->LastErrorText . "\n"; exit; } print 'Downloaded ' . $bundle->MessageCount . ' emails.' . "\n"; print '----' . "\n"; // Process the bundle... // (your application's processing code goes here...) // Get the next chunk... $chunkBeginIdx = $chunkBeginIdx + $chunkSize; $chunkEndIdx = $chunkEndIdx + $chunkSize; if ($chunkEndIdx >= $numEmails) { $chunkEndIdx = $numEmails - 1; } } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.