internal EmailImapClient(EmailSettings settings, int savedSeqNo) { Init(settings); _savedSeqNo = savedSeqNo; _seqSet = savedSeqNo + ":*"; _criteria = SeqSetCriteriaEnum.SaveNo; }
/// <summary> /// Gets specified folder messages list from IMAP server. /// </summary> /// <param name="folder">IMAP folder which messages to load.</param> private void LoadFolder(string folder) { try { _client.SelectFolder(folder); if (_client.SelectedFolder.MessagesCount == 0) { return; } var seqSet = GetSeqSet(); if (seqSet == null) { throw new ArgumentNullException(nameof(seqSet)); } if (string.IsNullOrWhiteSpace(seqSet)) { return; } AppJournal.Write("EmailImapTransport: LoadFolder: Seq_set = " + GetSeqSet()); _client.Fetch(false, IMAP_t_SeqSet.Parse(GetSeqSet()), new IMAP_t_Fetch_i[] { new IMAP_t_Fetch_i_Envelope(), new IMAP_t_Fetch_i_Flags(), new IMAP_t_Fetch_i_InternalDate(), new IMAP_t_Fetch_i_Rfc822Size(), new IMAP_t_Fetch_i_Uid() }, FetchFolderHandler); _savedSeqNo = _messages.Last().UID + 1; _criteria = SeqSetCriteriaEnum.SaveNo; } catch (Exception ex) { //Debug.WriteLine(ex.Message); AppJournal.Write("EmailImapTransport:LoadFolder: " + ex.Message); } }
internal EmailImapClient(EmailSettings settings, SeqSetCriteriaEnum criteria) { Init(settings); _criteria = criteria; }
internal EmailImapClient(EmailSettings settings, string seqSet) { Init(settings); _seqSet = seqSet; _criteria = SeqSetCriteriaEnum.Handle; }
internal EmailImapClient(EmailSettings settings) { Init(settings); _criteria = SeqSetCriteriaEnum.Unseen; }