internal static Email.MailQuery GetMailQuery(string searchText)
        {
            Email.MailQuery mQuery = null;
            if (searchText.Trim().Length > 0)
            {
                Aspose.Email.MailQueryBuilder queryBuilder = new Aspose.Email.MailQueryBuilder();
                mQuery = queryBuilder.Or(queryBuilder.Body.Contains(searchText, true), queryBuilder.Cc.Contains(searchText, true));
                mQuery = queryBuilder.Or(mQuery, queryBuilder.From.Contains(searchText, true));
                mQuery = queryBuilder.Or(mQuery, queryBuilder.To.Contains(searchText, true));
                mQuery = queryBuilder.Or(mQuery, queryBuilder.Subject.Contains(searchText, true));
            }

            return(mQuery);
        }
예제 #2
0
        public override int ListMessagesInFolder(ref GridView gridView, string folderUri, string searchText)
        {
            try
            {
                Email.MailQuery mQuery       = Common.GetMailQuery(searchText);
                List <Message>  messagesList = new List <Message>();

                Pop3MessageInfoCollection msgCollection = null;
                if (mQuery == null)
                {
                    msgCollection = client.ListMessages();
                }
                else
                {
                    msgCollection = client.ListMessages(mQuery);
                }
                int messageCount = 1;
                foreach (Pop3MessageInfo msgInfo in msgCollection)
                {
                    if (messageCount > Common.MaxNumberOfMessages)
                    {
                        break;
                    }
                    //Retrieve the message in a MailMessage class
                    messagesList.Add(new Message
                                         (msgInfo.UniqueId.ToString(),
                                         Common.FormatDate(msgInfo.Date),
                                         Common.FormatSubject(msgInfo.Subject),
                                         Common.FormatSender(msgInfo.From)
                                         ));
                    messageCount++;
                }

                gridView.DataSource = messagesList;
                gridView.DataBind();

                return(messagesList.Count);
            }
            catch (Exception) { }

            return(0);
        }
예제 #3
0
        public override int ListMessagesInFolder(ref GridView gridView, string folderUri, string searchText)
        {
            try
            {
                Email.MailQuery mQuery           = Common.GetMailQuery(searchText);
                ImapFolderInfo  folderInfoStatus = client.ListFolder(folderUri);
                client.SelectFolder(folderUri);
                ImapMessageInfoCollection msgInfoColl = null;
                if (mQuery == null)
                {
                    msgInfoColl = client.ListMessages(Common.MaxNumberOfMessages);
                }
                else
                {
                    msgInfoColl = client.ListMessages(mQuery, Common.MaxNumberOfMessages);
                }

                List <Message> messagesList = new List <Message>();

                messagesList = (from msg in msgInfoColl
                                orderby msg.Date descending
                                select new Message()
                {
                    UniqueUri = msg.UniqueId,
                    Date = Common.FormatDate(msg.Date),
                    Subject = Common.FormatSubject(msg.Subject),
                    From = Common.FormatSender(msg.From)
                }).ToList();

                gridView.DataSource = messagesList;
                gridView.DataBind();

                return(msgInfoColl.Count);
            }
            catch (Exception) { }

            return(0);
        }