public MainWindowViewModel() { users.CurrentUser.UserName = "******"; users.CurrentUser.PasswordHash = ""; var currentAccount = new UserEmailAccount("imap.gmail.com", 993, "*****@*****.**", "atssddvndnffxggx"); users.CurrentUser.CurrentEmailAccount = currentAccount; }
private IList <UniqueId> Connection(ImapClient client, UserEmailAccount currentAccount, FolderAccess accessMode = FolderAccess.ReadWrite) { client.Connect(currentAccount.IMAPServer, currentAccount.Port, SecureSocketOptions.SslOnConnect); client.Authenticate(currentAccount.EmailAddress, currentAccount.ApplicationPassword); //client.Connect("imap.gmail.com", 993, SecureSocketOptions.SslOnConnect); //client.Authenticate("*****@*****.**", "atssddvndnffxggx"); client.Inbox.Open(accessMode); return(client.Inbox.Search(SearchQuery.All)); }
public List <ReceivedEmail> DownloadMessages(Object currentEmail) { UserEmailAccount currentAccount = (UserEmailAccount)currentEmail; var messages = new List <ReceivedEmail>(); using (var client = new ImapClient()) { var uids = Connection(client, currentAccount); foreach (var uid in uids) { try { var receivedEmail = new ReceivedEmail(uid, client.Inbox.GetMessage(uid)); messages.Add(receivedEmail); } catch (MessageNotFoundException) { Console.WriteLine("No messages found, inbox is empty."); } } client.Disconnect(true); return(messages); } }
private async void DownloadMessagesAsync(UserEmailAccount currentAccount) { var messages = await Task <List <ReceivedEmail> > .Factory.StartNew(DownloadMessages, currentAccount); ManageEmailChanges(messages); }
public void StartGettingMessages(UserEmailAccount currentAccount) { _timer.Interval = TimeSpan.FromMilliseconds(5000); _timer.Tick += (sender, args) => DownloadMessagesAsync(currentAccount); _timer.Start(); }
public void GetUserEmails(UserEmailAccount currentAccount) { inboundEmails.StartGettingMessages(currentAccount); }
public DeleteEmailIdentificationData(List <UniqueId> uids, UserEmailAccount currentAccount) { this.uids = uids; this.currentAccount = currentAccount; }