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
(Objective-C) How to Copy IMAP Mail to another IMAP ServerDemonstrates how to copy the entire contents of an IMAP mailbox to another IMAP server.
#import <CkoImap.h> #import <CkoStringArray.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoImap *imapSrc = [[CkoImap alloc] init]; // Connect to our source IMAP server. BOOL success = [imapSrc Connect: @"imap.someMailServer.com"]; if (success != YES) { NSLog(@"%@",imapSrc.LastErrorText); return; } // Login to the source IMAP server success = [imapSrc Login: @"admin@chilkatsoft.com" password: @"myPassword"]; if (success != YES) { NSLog(@"%@",imapSrc.LastErrorText); return; } CkoImap *imapDest = [[CkoImap alloc] init]; // Connect to our destination IMAP server. success = [imapDest Connect: @"mail.example-code.com"]; if (success != YES) { NSLog(@"%@",imapDest.LastErrorText); return; } // Login to the destination IMAP server success = [imapDest Login: @"myLogin" password: @"myPassword"]; if (success != YES) { NSLog(@"%@",imapDest.LastErrorText); return; } // Select an IMAP mailbox on the source IMAP server success = [imapSrc SelectMailbox: @"Inbox"]; if (success != YES) { NSLog(@"%@",imapSrc.LastErrorText); return; } // After selecting a mailbox, the NumMessages property will // be updated to reflect the total number of emails in the mailbox: NSLog(@"%d",[imapSrc.NumMessages intValue]); // 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. int startSeqNum = 1; int msgCount = 10; CkoStringArray *sa = 0; sa = [imapSrc FetchSequenceAsMime: [NSNumber numberWithInt: startSeqNum] count: [NSNumber numberWithInt: msgCount]]; if (imapSrc.LastMethodSuccess != YES) { NSLog(@"%@",imapSrc.LastErrorText); return; } int i; for (i = 0; i <= [sa.Count intValue] - 1; i++) { success = [imapDest AppendMime: @"Inbox" mimeText: [sa GetString: [NSNumber numberWithInt: i]]]; if (success != YES) { NSLog(@"%@",imapDest.LastErrorText); return; } } // Disconnect from the IMAP servers. success = [imapSrc Disconnect]; success = [imapDest Disconnect]; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.