Пример #1
0
        private MessageCollection FetchMessages(string host, string login, string pass,
                                                string from, DateTime startDate, DateTime endDate)
        {
            var client = new ImapX.ImapClient(host, 993, true);

            client.Connection();
            client.LogIn(login, pass);
            string imapQuery = string.Format("FROM \"{0}\" BEFORE {1} SINCE {2}",
                                             from, endDate.ToString("dd-MMM-yyyy", CultureInfo.InvariantCulture),
                                             startDate.ToString("dd-MMM-yyyy", CultureInfo.InvariantCulture));

            var messages = client.Folders["INBOX"].Search(imapQuery, false);

            foreach (var m in messages)
            {
                m.Process();
            }

            return(messages);
        }
Пример #2
0
        public static List <Data.Entities.Email> getGMailEmail(string inboxPath, string username, string password)
        {
            List <Data.Entities.Email> emails = new List <Data.Entities.Email>();

            Data.Entities.Email email = null;

            bool isHtml = true;

            ImapX.ImapClient client = new ImapX.ImapClient("imap.gmail.com", 993, true);
            bool             result = false;

            result = client.Connection();


            result = client.LogIn(username, password);
            if (result)
            {
                ImapX.FolderCollection folders = client.Folders;

                ImapX.MessageCollection messages = client.Folders["export"].Search("ALL", true);                        // .Search("export", true); //true - means all message parts will be received from server

                if (messages != null && messages.Count > 0)
                {
                    for (int i = 0; i < messages.Count; i++)
                    {
                        email          = new Data.Entities.Email();
                        email.From     = messages[i].From.DisplayName;
                        email.Subject  = messages[i].Subject;
                        email.TextBody = messages[i].GetDecodedBody(out isHtml);

                        //email.TextBody = messages[i].TextBody.TextData;
                        email.ReceivedDate = messages[i].Date;


                        emails.Add(email);
                    }
                }
            }

            return(emails);
        }
Пример #3
0
        public static List<Data.Email> getGMailEmail(string inboxPath, string username, string password)
        {
            List<Data.Email> emails = new List<Data.Email>();
            Data.Email email = null;

            bool isHtml = true;

            ImapX.ImapClient client = new ImapX.ImapClient("imap.gmail.com", 993, true);
            bool result = false;

            result = client.Connection();

            result = client.LogIn(username, password);
            if (result) {
                ImapX.FolderCollection folders = client.Folders;

                ImapX.MessageCollection messages = client.Folders["export"].Search("ALL", true);	// .Search("export", true); //true - means all message parts will be received from server

                if (messages != null && messages.Count > 0) {
                    for (int i = 0; i <  messages.Count; i++) {
                        email = new Data.Email();
                        email.From = messages[i].From.DisplayName;
                        email.Subject = messages[i].Subject;
                        email.TextBody = messages[i].GetDecodedBody(out isHtml);

                        //email.TextBody = messages[i].TextBody.TextData;
                        email.ReceivedDate = messages[i].Date;

                        emails.Add(email);
                    }
                }
            }

            return emails;
        }