示例#1
0
 // Удаление письма
 public bool DeleteMessage(int _num)
 {
     try
     {
         if (!IsConnected)
         {
             throw new Exception("Не подключен к серверу");
         }
         return(Client.DeleteMessage(_num));
     }
     catch (Exception ex)
     {
         // Наступление события ошибки
         OnException(ex);
         return(false);
     }
 }
示例#2
0
        private bool IsConnected = false;   // Флаг подключения к серверу

        public void DragToSent(MailBox box)
        {
            try
            {
                string server = box.Settings.ImapServer;
                int    port   = box.Settings.ImapPort;
                bool   ssl    = box.Settings.Ssl;
                string user   = box.Settings.UserName;
                string pass   = box.Settings.Rassword;
                // Создание соединения с сервером
                Client = new IMAPClient(server, port, ssl);
                // Аутентификация на сервере
                if (Client.Login(user, pass).Contains("OK"))
                {
                    IsConnected = true;
                    int num = 0;
                    if ((num = Client.MessInFolder("INBOX")) > 0)
                    {
                        if (Client.SelectFolder("INBOX").Contains("OK"))
                        {
                            string pointer = box.Folders.Where(x => x.Type == TYPE_FOLDER.SENT).First().Pointer;
                            if (Client.Copy(pointer, num, num).Contains("OK"))
                            {
                                if (!Client.DeleteMessage(num))
                                {
                                    throw new Exception("Ошибка удаления письма. Удалите отправленное письмо из ящика INBOX");
                                }
                            }
                            else
                            {
                                throw new Exception("Ошибка копирования. Переместите отправленное письмо из ящика INBOX");
                            }
                        }
                    }
                }
                else
                {
                    throw new Exception("Ошибка подключения. Отправленное письмо сохранено в папке INBOX");
                }
            }
            catch (Exception ex)
            {
                // Наступление события ошибки
                OnException(ex);
            }
        }