ImapMoveMessages Method (String, Boolean, String)
Moves the specified messages from the currently selected folder to the specified folder.

Namespace: MailBee.ImapMail
Assembly: MailBee.NET (in MailBee.NET.dll) Version: 12.5.0 build 687 for .NET 4.5
Syntax
public bool MoveMessages(
	string messageIndexSet,
	bool indexIsUid,
	string targetFolderName
)

Parameters

messageIndexSet
Type: SystemString
A message sequence string containing ordinal message numbers or UIDs. Can be composed manually or using ToString.
indexIsUid
Type: SystemBoolean
If true, messageIndexSet is treated as a sequence of UIDs; otherwise, as a sequence of ordinal message numbers.
targetFolderName
Type: SystemString
The full name of the destination folder.

Return Value

Type: Boolean
true if the messages were moved successfully; otherwise, false.
Exceptions
ExceptionCondition
MailBeeExceptionAn error occurred and ThrowExceptions is true.
Remarks

To learn how to specify a valid message sequence (messageIndexSet value), see DownloadEnvelopes(String, Boolean) topic.

Note Note
The IMAP4 protocol might not directly support moving messages between folders (unless the server supports MOVE extension). If MOVE command is not supported by the server, MailBee emulates moving messages as a sequence of copying, marking copied messages as deleted in the source folder, and then expunging deleted messages. You can find more detailed description of this process in MoveMessages(String, Boolean, String, UidPlusResult) overload topic.
Examples

This sample moves all seen (already read) messages from the Inbox folder into the Archive folder.

The sample assumes "Archive" folder had already been created in the past. To learn how to make sure the folder exists, see UploadMessage(MailMessage, String, String, DateTime) or UploadMessage(MailMessage, String, String, String) samples.

using System;
using MailBee;
using MailBee.ImapMail;

class Sample
{
    static void Main(string[] args)
    {
        Imap imp = new Imap();

        // Connect to the server, login and select inbox.
        imp.Connect("imap.server.com");
        imp.Login("jdoe@server.com", "secret");
        imp.SelectFolder("INBOX");

        // Find all messages which are already read.
        UidCollection uids = (UidCollection)imp.Search(true, "SEEN", null);

        if (uids.Count > 0)
        {
            // Move all SEEN messages into Archive.
            imp.MoveMessages(uids.ToString(), true, "Archive");
        }

        // Disconnect from the server.
        imp.Disconnect();
    }
}
See Also