Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(VB.NET UWP/WinRT) How to Copy IMAP Mail to another IMAP ServerDemonstrates how to copy the entire contents of an IMAP mailbox to another IMAP server.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim imapSrc As New Chilkat.Imap ' Connect to our source IMAP server. Dim success As Boolean = Await imapSrc.ConnectAsync("imap.someMailServer.com") If (success <> True) Then Debug.WriteLine(imapSrc.LastErrorText) Exit Sub End If ' Login to the source IMAP server success = Await imapSrc.LoginAsync("admin@chilkatsoft.com","myPassword") If (success <> True) Then Debug.WriteLine(imapSrc.LastErrorText) Exit Sub End If Dim imapDest As New Chilkat.Imap ' Connect to our destination IMAP server. success = Await imapDest.ConnectAsync("mail.example-code.com") If (success <> True) Then Debug.WriteLine(imapDest.LastErrorText) Exit Sub End If ' Login to the destination IMAP server success = Await imapDest.LoginAsync("myLogin","myPassword") If (success <> True) Then Debug.WriteLine(imapDest.LastErrorText) Exit Sub End If ' Select an IMAP mailbox on the source IMAP server success = Await imapSrc.SelectMailboxAsync("Inbox") If (success <> True) Then Debug.WriteLine(imapSrc.LastErrorText) Exit Sub End If ' After selecting a mailbox, the NumMessages property will ' be updated to reflect the total number of emails in the mailbox: Debug.WriteLine(imapSrc.NumMessages) ' 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. Dim startSeqNum As Integer = 1 Dim msgCount As Integer = 10 Dim sa As Chilkat.StringArray sa = Await imapSrc.FetchSequenceAsMimeAsync(startSeqNum,msgCount) If (imapSrc.LastMethodSuccess <> True) Then Debug.WriteLine(imapSrc.LastErrorText) Exit Sub End If Dim i As Integer For i = 0 To sa.Count - 1 success = Await imapDest.AppendMimeAsync("Inbox",sa.GetString(i)) If (success <> True) Then Debug.WriteLine(imapDest.LastErrorText) Exit Sub End If Next ' Disconnect from the IMAP servers. success = Await imapSrc.DisconnectAsync() success = Await imapDest.DisconnectAsync() |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.