Example #1
0
        /// <summary>
        /// This method will delete all the messages in this folder. Use with caution.
        /// </summary>
        public void EmptyFolder()
        {
            if (_client.OfflineMode)
            {
                _client.Log(IMAPBase.LogTypeEnum.WARN, "Cannot delete messages in offline mode.");
                return;
            }

            string    cmd    = "STORE {0}:{1} +FLAGS (\\Deleted)\r\n";
            ArrayList result = new ArrayList();

            if (Messages.Count == 0)
            {
                return;
            }
            int firstUID = Messages[0].Uid;
            int lastUID  = Messages[Messages.Count - 1].Uid;

            this.Select();
            _client._imap.SendAndReceive(String.Format(cmd, firstUID, lastUID), ref result);


            cmd = "EXPUNGE\r\n";
            _client._imap.SendAndReceive(cmd, ref result);
            this.Examine();
            _messages.Clear();
            _client.Log(IMAPBase.LogTypeEnum.INFO, String.Format("Folder {0} emptied successfully.", this.FolderName));
        }