![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(PHP ActiveX) How to Copy IMAP Mail to another IMAP ServerDemonstrates how to copy the entire contents of an IMAP mailbox to another IMAP server.
<?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.Imap') $imapSrc = new COM("Chilkat.Imap"); // Connect to our source IMAP server. $success = $imapSrc->Connect('imap.someMailServer.com'); if ($success != 1) { print $imapSrc->LastErrorText . "\n"; exit; } // Login to the source IMAP server $success = $imapSrc->Login('admin@chilkatsoft.com','myPassword'); if ($success != 1) { print $imapSrc->LastErrorText . "\n"; exit; } // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Imap') $imapDest = new COM("Chilkat.Imap"); // Connect to our destination IMAP server. $success = $imapDest->Connect('mail.example-code.com'); if ($success != 1) { print $imapDest->LastErrorText . "\n"; exit; } // Login to the destination IMAP server $success = $imapDest->Login('myLogin','myPassword'); if ($success != 1) { print $imapDest->LastErrorText . "\n"; exit; } // Select an IMAP mailbox on the source IMAP server $success = $imapSrc->SelectMailbox('Inbox'); if ($success != 1) { print $imapSrc->LastErrorText . "\n"; exit; } // After selecting a mailbox, the NumMessages property will // be updated to reflect the total number of emails in the mailbox: print $imapSrc->NumMessages . "\n"; // The emails in the mailbox will always have sequence numbers // ranging from 1 to NumMessages. // This example will copy the first 10 messages. // We'll leave it up to you to write code to copy // the entire sequence range in reasonable size chunks. $startSeqNum = 1; $msgCount = 10; // sa is a Chilkat.StringArray $sa = $imapSrc->FetchSequenceAsMime($startSeqNum,$msgCount); if ($imapSrc->LastMethodSuccess != 1) { print $imapSrc->LastErrorText . "\n"; exit; } for ($i = 0; $i <= $sa->Count - 1; $i++) { $success = $imapDest->AppendMime('Inbox',$sa->getString($i)); if ($success != 1) { print $imapDest->LastErrorText . "\n"; exit; } } // Disconnect from the IMAP servers. $success = $imapSrc->Disconnect(); $success = $imapDest->Disconnect(); ?> |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.