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: 11.2.0 build 590 for .NET 4.5
public bool MoveMessages(
	string messageIndexSet,
	bool indexIsUid,
	string targetFolderName


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

Return Value

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

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.

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.Login("", "secret");

        // 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.
See Also