Ejemplo n.º 1
0
        /// <summary>
        /// Method for retrieve the mail messages for IMAP4 protocol.
        /// </summary>
        /// <param name="mailbox">The mailbox for retrieve messages.</param>
        /// <param name="beginIndex">The begin index for retrieve the messages.</param>
        /// <param name="increment">The increment for begin index for retrieve the messages.</param>
        /// <returns>The mail messages.</returns>
        public BindingList<MailMessage> RetrieveMessages(string mailbox, int beginIndex, int increment)
        {
            BindingList<MailMessage> ret = new BindingList<MailMessage>();

            MailMessage mailMessage;
            Header header;

            Mailbox inbox = this.Imap4Client.SelectMailbox(mailbox);
            Fetch fetch = inbox.Fetch;
            int messageCount = inbox.MessageCount;
            for (int i = beginIndex; i <= beginIndex + increment; i++)
            {
                if (i <= messageCount)
                {
                    header = fetch.HeaderObject(i);
                    mailMessage = new MailMessage();
                    mailMessage.FillMessage(header);
                    mailMessage.BaseIndex = i;
                    ret.Add(mailMessage);
                }
            }
            return ret;
        }