ImapMoveMessages Method (String, Boolean, String) |
Namespace: MailBee.ImapMail
public bool MoveMessages( string messageIndexSet, bool indexIsUid, string targetFolderName )
Exception | Condition |
---|---|
MailBeeException | An error occurred and ThrowExceptions is true. |
To learn how to specify a valid message sequence (messageIndexSet value), see DownloadEnvelopes(String, Boolean) topic.
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.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(); } }