Example #1
0
        static void Main(string[] args)
        {
            try
            {
                var mails = OutLookEmails.ReadMailItems();
                int i     = 1;

                if (mails.Count > 0)
                {
                    foreach (var mail in mails)
                    {
                        Console.WriteLine("Mail No :" + i);
                        Console.WriteLine("Mail Recieved From :" + mail.EmailFrom);
                        Console.WriteLine("Mail Subject :" + mail.EmailSubject);
                        Console.WriteLine("Mail Body :" + mail.EmailBody);
                        Console.WriteLine("");
                        i = i + 1;
                    }
                }
                else
                {
                    Console.WriteLine("No New Messages found!!");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            Console.ReadKey();
        }
Example #2
0
        public static List <OutLookEmails> ReadMailItems()
        {
            List <OutLookEmails> listEmailDetails = new List <OutLookEmails>();
            OutLookEmails        emailsDetails;
            ExchangeService      exchange = new ExchangeService(ExchangeVersion.Exchange2013_SP1);

            try
            {
                exchange.Credentials = new WebCredentials("email", "password");

                // exchange.Url = new Uri("https://outlook.office365.com/owa/bridgetree.com/ews/exchange.asmx");
                exchange.AutodiscoverUrl("email", RedirectionUrlValidationCallback);

                TimeSpan ts   = new TimeSpan(0, -1, 0, 0);
                DateTime date = DateTime.Today.AddDays(-1);
                //DateTime.Now.Add(ts);

                // new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived, date)

                SearchFilter searchFilter = new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived, date), new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false));

                if (exchange != null)
                {
                    PropertySet FindItemPropertySet = new PropertySet(BasePropertySet.IdOnly);
                    ItemView    view = new ItemView(999);
                    view.PropertySet = FindItemPropertySet;

                    PropertySet GetItemsPropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
                    GetItemsPropertySet.RequestedBodyType = BodyType.Text;
                    FindItemsResults <Item> emailMessages = null;

                    emailMessages = exchange.FindItems(WellKnownFolderName.Inbox, searchFilter, view);

                    if (emailMessages.Items.Count > 0)
                    {
                        exchange.LoadPropertiesForItems(emailMessages.Items, GetItemsPropertySet);
                        foreach (EmailMessage message in emailMessages.Items)
                        {
                            if (message.IsRead == false && emailMessages.Items.Count > 0)
                            {
                                emailsDetails              = new OutLookEmails();
                                emailsDetails.EmailFrom    = message.From.ToString();
                                emailsDetails.EmailSubject = message.Subject;
                                emailsDetails.EmailBody    = message.Body.Text;
                                listEmailDetails.Add(emailsDetails);
                                message.IsRead = true;
                                message.Update(ConflictResolutionMode.AlwaysOverwrite);
                            }
                            else
                            {
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            return(listEmailDetails);
        }