private void FetchEnvelopesAsync(Mailbox mailbox)
        {
            new Thread(() =>
            {
                try {
                    using (var client = CreateClientByAccount(mailbox.AccountState.Account)) {
                        client.Select(mailbox.Fullname);

                        var query = client.Messages.Where(x => x.Date < DateTime.Today.AddDays(1)).Select(x => new MyMessage {
                            Envelope = x.Envelope, Uid = x.Uid
                        });

                        foreach (var message in query)
                        {
                            message.Mailbox = mailbox;
                            AddMessageToViewSafely(mailbox, message);
                        }
                    }
                }
                catch (Exception ex) {
                    LogSafely(ex.Message);
                }
            }).Start();
        }
 private static void AddMessageToView(Mailbox mailbox, MyMessage message)
 {
     mailbox.Messages.Add(message);
 }