public static void Run() { Pop3Client client = new Pop3Client(); client.Host = "pop.gmail.com"; client.Port = 995; client.SecurityOptions = SecurityOptions.SSLImplicit; client.Username = "******"; client.Password = "******"; try { // ExStart:ListMessagesAsynchronouslyWithMailQuery MailQueryBuilder builder = new MailQueryBuilder(); builder.Subject.Contains("Subject"); MailQuery query = builder.GetQuery(); IAsyncResult asyncResult = client.BeginListMessages(query); Pop3MessageInfoCollection messages = client.EndListMessages(asyncResult); // ExEnd:ListMessagesAsynchronouslyWithMailQuery } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void FilterMessagesWithPagingSupport() { const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx"; const string username = "******"; const string password = "******"; const string domain = "domain"; IEWSClient client = EWSClient.GetEWSClient(mailboxUri, username, password, domain); //ExStart: FilterMessagesWithPagingSupport int itemsPerPage = 5; string sGuid = Guid.NewGuid().ToString(); string str1 = sGuid + " - " + "Query 1"; string str2 = sGuid + " - " + "Query 2"; MailQueryBuilder queryBuilder1 = new MailQueryBuilder(); queryBuilder1.Subject.Contains(str1); MailQuery query1 = queryBuilder1.GetQuery(); List <ExchangeMessagePageInfo> pages = new List <ExchangeMessagePageInfo>(); ExchangeMessagePageInfo pageInfo = client.ListMessagesByPage(client.MailboxInfo.InboxUri, query1, itemsPerPage); pages.Add(pageInfo); int str1Count = pageInfo.Items.Count; while (!pageInfo.LastPage) { pageInfo = client.ListMessagesByPage(client.MailboxInfo.InboxUri, query1, itemsPerPage, pageInfo.PageOffset + 1); pages.Add(pageInfo); str1Count += pageInfo.Items.Count; } //ExEnd: FilterMessagesWithPagingSupport }
public static void Run() { // Connect and log in to POP3 const string host = "host"; const int port = 110; const string username = "******"; const string password = "******"; Pop3Client client = new Pop3Client(host, port, username, password); try { MailQueryBuilder builder = new MailQueryBuilder(); // ExStart:CombineQueriesWithAND // Emails from specific host, get all emails that arrived before today and all emails that arrived since 7 days ago builder.From.Contains("SpecificHost.com"); builder.InternalDate.Before(DateTime.Now); builder.InternalDate.Since(DateTime.Now.AddDays(-7)); // ExEnd:CombineQueriesWithAND // Build the query and Get list of messages MailQuery query = builder.GetQuery(); Pop3MessageInfoCollection messages = client.ListMessages(query); Console.WriteLine("Pop3: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:CombiningQueriesWithOR // Specify OR condition builder.Or(builder.Subject.Contains("test"), builder.From.Contains("*****@*****.**")); // ExEnd:CombiningQueriesWithOR // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(query); Console.WriteLine("Pop3: " + 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); MailQueryBuilder builder = new MailQueryBuilder(); // ExStart:CombineQueriesWithAND // Emails from specific host, get all emails that arrived before today and all emails that arrived since 7 days ago builder.From.Contains("SpecificHost.com"); builder.InternalDate.Before(DateTime.Now); builder.InternalDate.Since(DateTime.Now.AddDays(-7)); // ExEnd:CombineQueriesWithAND // 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:CombiningQueriesWithOR builder.Or(builder.Subject.Contains("test"), builder.From.Contains("*****@*****.**")); // ExEnd:CombiningQueriesWithOR // 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."); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { // ExStart:FilterMessagesFromPOP3Mailbox // Connect and log in to POP3 const string host = "host"; const int port = 110; const string username = "******"; const string password = "******"; Pop3Client client = new Pop3Client(host, port, username, password); // Set conditions, Subject contains "Newsletter", Emails that arrived today MailQueryBuilder builder = new MailQueryBuilder(); builder.Subject.Contains("Newsletter"); builder.InternalDate.On(DateTime.Now); // Build the query and Get list of messages MailQuery query = builder.GetQuery(); Pop3MessageInfoCollection messages = client.ListMessages(query); Console.WriteLine("Pop3: " + messages.Count + " message(s) found."); // ExEnd:FilterMessagesFromPOP3Mailbox }
public static void Run() { try { // Create instance of ExchangeClient class by giving credentials ExchangeClient client = new ExchangeClient("http://ex07sp1/exchange/Administrator", "user", "pwd", "domain"); MailQueryBuilder builder = new MailQueryBuilder(); // ExStart:CombineQueriesWithAND // Emails from specific host, get all emails that arrived before today and all emails that arrived since 7 days ago builder.From.Contains("SpecificHost.com"); builder.InternalDate.Before(DateTime.Now); builder.InternalDate.Since(DateTime.Now.AddDays(-7)); // ExEnd:CombineQueriesWithAND 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:CombiningQueriesWithOR // Specify OR condition builder.Or(builder.Subject.Contains("test"), builder.From.Contains("*****@*****.**")); // ExEnd:CombiningQueriesWithOR // 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."); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { // Connect and log in to POP3 const string host = "host"; const int port = 110; const string username = "******"; const string password = "******"; Pop3Client client = new Pop3Client(host, port, username, password); try { // ExStart:ApplyCaseSensitiveFilters // IgnoreCase is True MailQueryBuilder builder1 = new MailQueryBuilder(); builder1.From.Contains("tesT", true); MailQuery query1 = builder1.GetQuery(); Pop3MessageInfoCollection messageInfoCol1 = client.ListMessages(query1); // ExEnd:ApplyCaseSensitiveFilters } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { // Connect and log in to POP3 const string host = "host"; const int port = 143; const string username = "******"; const string password = "******"; ImapClient client = new ImapClient(host, port, username, password); try { // 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(); ImapMessageInfoCollection messages = client.ListMessages(query); Console.WriteLine("Imap: " + 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(query); Console.WriteLine("Imap: " + 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(query); Console.WriteLine("Imap: " + 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(query); Console.WriteLine("Imap: " + messages.Count + " message(s) found."); builder = new MailQueryBuilder(); // ExStart:GetSpecificRecipientEmails // Get emails sent to specific recipient builder.To.Contains("recipient"); // ExEnd:GetSpecificRecipientEmails //ExStart: GetMessagesWithCustomFlags ImapQueryBuilder queryBuilder = new ImapQueryBuilder(); queryBuilder.HasFlags(ImapMessageFlags.Keyword("custom1")); queryBuilder.HasNoFlags(ImapMessageFlags.Keyword("custom2")); //ExEnd: GetMessagesWithCustomFlags // Build the query and Get list of messages query = builder.GetQuery(); messages = client.ListMessages(query); Console.WriteLine("Imap: " + messages.Count + " message(s) found."); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void 查看气象台163pop3() { var util = new XmlConfig(Environment.CurrentDirectory + @"\config\智能网格设置.xml"); // Connect and log in to POP3 const string host = "pop.163.com"; const int port = 995; var username = util.Read("emailConfig", "emailFrom", "address"); var password = util.Read("emailConfig", "emailFrom", "password"); var yjjl = util.Read("emailConfig", "空气邮件查收记录"); var client = new Pop3Client(host, port, username, password); try { var jlLists = new List <string>(); var dateLists = new List <DateTime>(); var szls = yjjl.Split(','); if (szls.Length > 0) { foreach (var item in szls) { if (item.Trim() != "") { try { var strDate = item.Trim(); jlLists.Add(strDate); dateLists.Add(Convert.ToDateTime(strDate.Substring(0, 4) + "-" + strDate.Substring(4, 2) + "-" + strDate.Substring(6, 2))); } catch { } } } } var builder1 = new MailQueryBuilder(); builder1.From.Contains("yewu_zzy", true); builder1.InternalDate.Before(DateTime.Now.AddDays(1)); builder1.InternalDate.Since(DateTime.Now.AddDays(-7)); var query1 = builder1.GetQuery(); var messageInfoCol1 = client.ListMessages(query1); var changeBS = false; for (var i = 0; i < messageInfoCol1.Count; i++) { if (!jlLists.Exists(y => messageInfoCol1[i].Subject.Contains(y))) { changeBS = true; var msg = client.FetchMessage(messageInfoCol1[i].UniqueId); try { var regex = new Regex("\\d{10}"); var m = regex.Match(messageInfoCol1[i].Subject); if (m.Success) { var strDate = m.Groups[0].Value; var dateTimels = Convert.ToDateTime(strDate.Substring(0, 4) + "-" + strDate.Substring(4, 2) + "-" + strDate.Substring(6, 2)); var dataDir = util.Read("路径", "Path空气质量中长期预报") + $@"{dateTimels:yyyy}\{dateTimels:MM}\{dateTimels:dd}\\"; if (!File.Exists(dataDir)) { Directory.CreateDirectory(dataDir); } foreach (var item in msg.Attachments) { item.Save(dataDir + item.Name); } dateLists.Add(dateTimels); } } catch { } } } try { if (changeBS) { if (dateLists.Count > 0) { var saveDate = new List <DateTime>(); foreach (var item in dateLists) { if (item.CompareTo(DateTime.Now.Date.AddDays(-8)) >= 0) { saveDate.Add(item); } } var saveStr = ""; foreach (var item in saveDate) { saveStr += $"{item:yyyyMMdd},"; } if (saveStr.Length > 0) { saveStr = saveStr.Substring(0, saveStr.Length - 1); } util.Write(saveStr, "emailConfig", "空气邮件查收记录"); } } } catch { } client.Dispose(); } catch (Exception ex) { } }
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); } }