public Select ( string mailboxName ) : SelectExamineImapResponse | ||
mailboxName | string | The name of the mailbox to select. |
return | SelectExamineImapResponse |
public void ThreadStart() { _clientIdle = AccountController.CreateClientByAccount(AccountController.Account); Thread.Sleep(1000); _clientIdle.StatusUpdateReceived += OnStatusUpdateReceived; _clientIdle.Select("INBOX"); _clientIdle.StartIdle(); }
public ImapReader(ImapClient client, string folder, MessageCallbackDelegate cb) { callbackFn = cb; folderName = folder; imapClient = client; // Step 1: add delegate to the imapClient.StatusUpdateReceived += onStatusUpdateReceived; Crystalbyte.Equinox.Imap.Responses.SelectExamineImapResponse selectResponse = imapClient.Select("INBOX"); // record the next uid to read ---- this ensures that we will only read new messages uidNext = selectResponse.MailboxInfo.UidNext; /*** // let's just check that we can get messages var query = client.Messages; foreach (var msg in query) { if (msg.Subject.Contains("bot")) { callbackFn(msg.Text); } } * ***/ IdlerDelegate asyncIdleMethod = startIdle; asyncIdleMethod.BeginInvoke(startIdleAsyncCallback, asyncIdleMethod); }