public static void Run() { // ExStart:FilterMessagesFromExchangeMailbox try { // Connect to Exchange Server const string mailboxUri = "http://exchange-server/Exchange/username"; const string username = "******"; const string password = "******"; const string domain = "domain.com"; NetworkCredential credential = new NetworkCredential(username, password, domain); ExchangeClient client = new ExchangeClient(mailboxUri, credential); // Query building by means of ExchangeQueryBuilder class ExchangeQueryBuilder builder = new ExchangeQueryBuilder(); // Set Subject and Emails that arrived today builder.Subject.Contains("Newsletter"); builder.InternalDate.On(DateTime.Now); MailQuery query = builder.GetQuery(); // Get list of messages ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); // Disconnect from Exchange client.Dispose(); } catch (Exception ex) { Console.WriteLine(ex.Message); } // ExEnd:FilterMessagesFromExchangeMailbox }
public static void Run() { // Connect to EWS const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx"; const string username = "******"; const string password = "******"; const string domain = "domain"; try { IEWSClient client = EWSClient.GetEWSClient(mailboxUri, username, password, domain); // ExStart:CaseSensitiveEmailsFiltering // Query building by means of ExchangeQueryBuilder class ExchangeQueryBuilder builder = new ExchangeQueryBuilder(); builder.Subject.Contains("Newsletter", true); builder.InternalDate.On(DateTime.Now); MailQuery query = builder.GetQuery(); // ExEnd:CaseSensitiveEmailsFiltering // Get list of messages ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("EWS: " + messages.Count + " message(s) found."); // Disconnect from EWS client.Dispose(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { // Connect to EWS const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx"; const string username = "******"; const string password = "******"; const string domain = "domain"; //ExStart: FilterAppointmentsByDateUsingEWS IEWSClient client = EWSClient.GetEWSClient(mailboxUri, username, password, domain); DateTime startTime = new DateTime(2017, 09, 15); DateTime endTime = new DateTime(2017, 10, 10); ExchangeQueryBuilder builder = new ExchangeQueryBuilder(); builder.Appointment.Start.Since(startTime); builder.Appointment.End.BeforeOrEqual(endTime); MailQuery query = builder.GetQuery(); Appointment[] appointments = client.ListAppointments(query); //ExEnd: FilterAppointmentsByDateUsingEWS //ExStart: FilterAppointmentsByRecurrenceUsingEWS builder = new ExchangeQueryBuilder(); builder.Appointment.IsRecurring.Equals(false); query = builder.GetQuery(); appointments = client.ListAppointments(query); //ExEnd: FilterAppointmentsByRecurrenceUsingEWS }
public static void Run() { // ExStart:FilterTasksFromServer // Set mailboxURI, Username, password, domain information string mailboxUri = "https://ex2010/ews/exchange.asmx"; string username = "******"; string password = "******"; string domain = "ex2010.local"; NetworkCredential credentials = new NetworkCredential(username, password, domain); IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials); ExchangeQueryBuilder queryBuilder = null; MailQuery query = null; ExchangeTask fetchedTask = null; ExchangeMessageInfoCollection messageInfoCol = null; client.TimezoneId = "Central Europe Standard Time"; Array values = Enum.GetValues(typeof(ExchangeTaskStatus)); //Now retrieve the tasks with specific statuses foreach (ExchangeTaskStatus status in values) { queryBuilder = new ExchangeQueryBuilder(); queryBuilder.TaskStatus.Equals(status); query = queryBuilder.GetQuery(); messageInfoCol = client.ListMessages(client.MailboxInfo.TasksUri, query); fetchedTask = client.FetchTask(messageInfoCol[0].UniqueUri); } //retrieve all other than specified foreach (ExchangeTaskStatus status in values) { queryBuilder = new ExchangeQueryBuilder(); queryBuilder.TaskStatus.NotEquals(status); query = queryBuilder.GetQuery(); messageInfoCol = client.ListMessages(client.MailboxInfo.TasksUri, query); } //specifying multiple criterion ExchangeTaskStatus[] selectedStatuses = new ExchangeTaskStatus[] { ExchangeTaskStatus.Completed, ExchangeTaskStatus.InProgress }; queryBuilder = new ExchangeQueryBuilder(); queryBuilder.TaskStatus.In(selectedStatuses); query = queryBuilder.GetQuery(); messageInfoCol = client.ListMessages(client.MailboxInfo.TasksUri, query); queryBuilder = new ExchangeQueryBuilder(); queryBuilder.TaskStatus.NotIn(selectedStatuses); query = queryBuilder.GetQuery(); messageInfoCol = client.ListMessages(client.MailboxInfo.TasksUri, query); //ExEnd:FilterTasksFromServer }
public static void Run() { // ExStart:ListTasksFromExchangeServerWithEWS // Set mailboxURI, Username, password, domain information string mailboxUri = "https://ex2010/ews/exchange.asmx"; string username = "******"; string password = "******"; string domain = "ex2010.local"; NetworkCredential credentials = new NetworkCredential(username, password, domain); IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials); //Listing Tasks from Server client.TimezoneId = "Central Europe Standard Time"; TaskCollection taskCollection = client.ListTasks(client.MailboxInfo.TasksUri); //print retrieved tasks' details foreach (ExchangeTask task in taskCollection) { Console.WriteLine(client.TimezoneId); Console.WriteLine(task.Subject); Console.WriteLine(task.StartDate); Console.WriteLine(task.DueDate); } //Listing Tasks from server based on Query - Completed and In-Progress ExchangeQueryBuilder builder = new ExchangeQueryBuilder(); ExchangeTaskStatus[] selectedStatuses = new ExchangeTaskStatus[] { ExchangeTaskStatus.Completed, ExchangeTaskStatus.InProgress }; builder.TaskStatus.In(selectedStatuses); MailQuery query = builder.GetQuery(); taskCollection = client.ListTasks(client.MailboxInfo.TasksUri, query); //print retrieved tasks' details foreach (ExchangeTask task in taskCollection) { Console.WriteLine(client.TimezoneId); Console.WriteLine(task.Subject); Console.WriteLine(task.StartDate); Console.WriteLine(task.DueDate); } //ExEnd:ListTasksFromExchangeServerWithEWS }
public static void Run() { try { ExchangeClient client = new ExchangeClient("http://ex07sp1/exchange/Administrator", "user", "pwd", "domain"); // ExStart:CaseSensitiveEmailsFilteringUsingExchangeClient // Set conditions ExchangeQueryBuilder builder = new ExchangeQueryBuilder(); builder.Subject.Contains("Newsletter", true); builder.InternalDate.On(DateTime.Now); MailQuery query = builder.GetQuery(); // ExEnd:CaseSensitiveEmailsFilteringUsingExchangeClient ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { try { // Create instance of ExchangeClient class by giving credentials ExchangeClient client = new ExchangeClient("http://ex07sp1/exchange/Administrator", "user", "pwd", "domain"); // ExStart:GetEmailsWithTodayDate // Emails that arrived today MailQueryBuilder builder = new MailQueryBuilder(); builder.InternalDate.On(DateTime.Now); // ExEnd:GetEmailsWithTodayDate // Build the query and Get list of messages MailQuery query = builder.GetQuery(); ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetEmailsOverDateRange // Emails that arrived in last 7 days builder.InternalDate.Before(DateTime.Now); builder.InternalDate.Since(DateTime.Now.AddDays(-7)); // ExEnd:GetEmailsOverDateRange // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetSpecificSenderEmails // Get emails from specific sender builder.From.Contains("[email protected]"); // ExEnd:GetSpecificSenderEmails // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetSpecificDomainEmails // Get emails from specific domain builder.From.Contains("SpecificHost.com"); // ExEnd:GetSpecificDomainEmails // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetSpecificRecipientEmails // Get emails sent to specific recipient builder.To.Contains("recipient"); // ExEnd:GetSpecificRecipientEmails // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); // ExStart:GetSpecificMessageIdEmail // Get email with specific MessageId ExchangeQueryBuilder builder1 = new ExchangeQueryBuilder(); builder1.MessageId.Equals("MessageID"); // ExEnd:GetSpecificMessageIdEmail // Build the query and Get list of messages query = builder1.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); // ExStart:GetMailDeliveryNotifications // Get Mail Delivery Notifications builder1 = new ExchangeQueryBuilder(); builder1.ContentClass.Equals(ContentClassType.MDN.ToString()); // ExEnd:GetMailDeliveryNotifications // Build the query and Get list of messages query = builder1.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false); Console.WriteLine("Exchange: " + messages.Count + " message(s) found."); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { // Connect to EWS const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx"; const string username = "******"; const string password = "******"; const string domain = "domain"; try { IEWSClient client = EWSClient.GetEWSClient(mailboxUri, username, password, domain); // ExStart:GetEmailsWithTodayDate // Emails that arrived today MailQueryBuilder builder = new MailQueryBuilder(); builder.InternalDate.On(DateTime.Now); // ExEnd:GetEmailsWithTodayDate // Build the query and Get list of messages MailQuery query = builder.GetQuery(); ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query); Console.WriteLine("EWS: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetEmailsOverDateRange // Emails that arrived in last 7 days builder.InternalDate.Before(DateTime.Now); builder.InternalDate.Since(DateTime.Now.AddDays(-7)); // ExEnd:GetEmailsOverDateRange // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query); Console.WriteLine("EWS: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetSpecificSenderEmails // Get emails from specific sender builder.From.Contains("[email protected]"); // ExEnd:GetSpecificSenderEmails // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query); Console.WriteLine("EWS: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetSpecificDomainEmails // Get emails from specific domain builder.From.Contains("SpecificHost.com"); // ExEnd:GetSpecificDomainEmails // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query); Console.WriteLine("EWS: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetSpecificRecipientEmails // Get emails sent to specific recipient builder.To.Contains("recipient"); // ExEnd:GetSpecificRecipientEmails // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query); Console.WriteLine("EWS: " + messages.Count + " message(s) found."); // ExStart:GetSpecificMessageIdEmail // Get email with specific MessageId ExchangeQueryBuilder builder1 = new ExchangeQueryBuilder(); builder1.MessageId.Equals("MessageID"); // ExEnd:GetSpecificMessageIdEmail // Build the query and Get list of messages query = builder1.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query); Console.WriteLine("EWS: " + messages.Count + " message(s) found."); // ExStart:GetMailDeliveryNotifications // Get Mail Delivery Notifications builder1 = new ExchangeQueryBuilder(); builder1.ContentClass.Equals(ContentClassType.MDN.ToString()); // ExEnd:GetMailDeliveryNotifications //ExStart: FilterMessagesByMessageSize builder1 = new ExchangeQueryBuilder(); builder1.ItemSize.Greater(80000); //ExEnd: FilterMessagesByMessageSize // Build the query and Get list of messages query = builder1.GetQuery(); messages = client.ListMessages(client.MailboxInfo.InboxUri, query); Console.WriteLine("EWS: " + messages.Count + " message(s) found."); } catch (Exception ex) { Console.WriteLine(ex.Message); } }