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
        }
示例#3
0
        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
        }
示例#6
0
        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
        }
示例#7
0
        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);
            }
        }
示例#9
0
        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);
            }
        }
示例#10
0
        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)
            {
            }
        }
示例#11
0
        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);
            }
        }