Beispiel #1
0
 /// <summary>
 /// Gets the remote mailbox tree hierachy.
 /// </summary>
 /// <param name="response">The response.</param>
 /// <returns>The response type.</returns>
 protected override CommandResponseType GetMailboxTreeCommand(out string response)
 {
     try
     {
         Mailbox mailboxTree = _client.GetMailboxTree();
         MailboxTree = new ObservableCollection <Mailbox>(GetFlatMailboxes(mailboxTree).OrderBy(o => (int)o.Folder).ThenBy(o => o.FullName));
         response    = string.Empty;
         return(CommandResponseType.Ok);
     }
     catch (Exception ex)
     {
         response = ex.ToString();
         return(CommandResponseType.Bad);
     }
 }
Beispiel #2
0
        private void GetFolders()
        {
            this.Cursor = Cursors.WaitCursor;

            Account account = accounts[iTalk_TabControl.SelectedIndex];

            try
            {
                _client.Logout();
                Console.WriteLine("Logout succeeded!");
            }
            catch
            {
                Console.WriteLine("Logout failed!");
            }

            _client = new ImapClient();

            //Create POP3 client with parameters needed
            //URL of host to connect to
            _client.Host = account.Host;
            //TCP port for connection
            _client.Port = (ushort)account.Port;
            //Username to login to the POP3 server
            _client.Username = account.Username;
            //Password to login to the POP3 server
            _client.Password = account.Password;

            _client.SSLInteractionType = Email.Net.Common.Configurations.EInteractionType.SSLPort;

            try
            {
                //Login to the server
                CompletionResponse response = _client.Login();
                if (response.CompletionResult != ECompletionResponseType.OK)
                {
                    MessageBox.Show("Error", String.Format("Connection error:\n {0}", response.Message), MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    //Get all messages to know the uid
                    Mailbox folders = _client.GetMailboxTree();

                    iTalk.iTalk_TabControl tab = tabs[iTalk_TabControl.SelectedIndex];
                    tab.TabPages.Clear();

                    for (int i = 0; i <= folders.Children.Count - 1; i++)
                    {
                        tab.TabPages.Add(folders.Children[i].DisplayName + " - " + _client.GetMessageCount(folders.Children[i]));
                    }

                    GetMessages();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }

            this.Cursor = Cursors.Default;
        }