示例#1
0
        public List <ImapMessageRec> EnumerateMessages(ImapConnection imapConnection, FetchMessagesFlags flags, int?highFetchValue = null, int?lowFetchValue = null)
        {
            ImapMailbox imapMailbox      = imapConnection.SelectImapMailbox(this.folder);
            int?        numberOfMessages = imapMailbox.NumberOfMessages;

            if (numberOfMessages == null || numberOfMessages.Value == 0)
            {
                MrsTracer.Provider.Debug("Imap folder {0} does not have any messages to be enumerated", new object[]
                {
                    this.Name
                });
                return(new List <ImapMessageRec>(0));
            }
            int highFetchValue2 = highFetchValue ?? numberOfMessages.Value;
            int lowFetchValue2  = lowFetchValue ?? 1;
            EnumerateMessagesParams      enumerateParams = new EnumerateMessagesParams(highFetchValue2, lowFetchValue2, flags);
            IEnumerable <ImapMessageRec> collection      = this.EnumerateMessagesInfoFromImapServer(imapConnection, enumerateParams);
            List <ImapMessageRec>        list            = new List <ImapMessageRec>(collection);

            list.Sort();
            return(list);
        }
示例#2
0
 public void SelectImapFolder(ImapConnection imapConnection)
 {
     imapConnection.SelectImapMailbox(this.folder);
 }