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(); }
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); }