예제 #1
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            //IMAP ATTEMPT
            try
            {
                // Connect to the Google IMAP server.
                using (AE.Net.Mail.ImapClient Imap = new AE.Net.Mail.ImapClient("imap.gmail.com", "*****@*****.**", "bloodamerika3000", AE.Net.Mail.AuthMethods.Login, 993, true))
                {
                    // Select the mailbox you want to read messages from.
                    Imap.SelectMailbox("INBOX");

                    //Displays the count of messages in selected mailbox.
                    label1.Content = Imap.GetMessageCount().ToString();

                    // Get the first 100 messages from selected mailbox. 0 is the first message
                    // MailMessage is a message in your mailbox, so this is an array of 100 messages from you selected mailbox.
                    AE.Net.Mail.MailMessage[] mm = Imap.GetMessages(0, 99);

                    //Loops through selected messages putting the subject in the listbox.
                    foreach (AE.Net.Mail.MailMessage m in mm)
                    {
                        listBox1.Items.Add(m.Subject);
                    }
                }
            }
            catch (Exception exn)
            {
                //Show error message when error occurs.

                textBox1.Text = exn.Message;
            }
        }
예제 #2
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
       {
            //IMAP ATTEMPT
            try
            {
                // Connect to the Google IMAP server.
                using (AE.Net.Mail.ImapClient Imap = new AE.Net.Mail.ImapClient("imap.gmail.com", "*****@*****.**", "bloodamerika3000",AE.Net.Mail.AuthMethods.Login, 993, true))
                {
                    // Select the mailbox you want to read messages from.
                    Imap.SelectMailbox("INBOX");

                    //Displays the count of messages in selected mailbox.
                    label1.Content = Imap.GetMessageCount().ToString();

                    // Get the first 100 messages from selected mailbox. 0 is the first message
                    // MailMessage is a message in your mailbox, so this is an array of 100 messages from you selected mailbox.
                    AE.Net.Mail.MailMessage[] mm = Imap.GetMessages(0, 99);

                    //Loops through selected messages putting the subject in the listbox.
                    foreach (AE.Net.Mail.MailMessage m in mm)
                    {
                        listBox1.Items.Add(m.Subject);
                    }
                }
            }
            catch (Exception exn)
            {
                //Show error message when error occurs.
                
                textBox1.Text = exn.Message;
            }
        }
예제 #3
0
        public List <string> GetMail()
        {
            int           MailCount = 0;
            List <string> Mails     = new List <string>();

            try
            {
                using (AE.Net.Mail.ImapClient ic = new AE.Net.Mail.ImapClient(AppSettings.MailServer,
                                                                              AppSettings.MailUser,
                                                                              AppSettings.MailPassword, AE.Net.Mail.AuthMethods.Login,
                                                                              AppSettings.MailServerPort, true))
                {
                    ic.SelectMailbox("INBOX");

                    // Note that you must specify that headersonly = false
                    // when using GetMesssages().
                    AE.Net.Mail.MailMessage[] mm = ic.GetMessages(0, 50, false);

                    foreach (AE.Net.Mail.MailMessage m in mm)
                    {
                        MailCount++;
                        if (m.From.ToString().Contains(AppSettings.SpecialFromWord))
                        {
                            Mails.Add(m.Body);
                            ic.DeleteMessage(m);
                        }
                        if (m.Subject.ToString().Contains(AppSettings.SpecialSubjectWord))
                        {
                            Mails.Add(m.Subject);
                            ic.DeleteMessage(m);
                        }
                        else
                        {
                            Logger.Log(m.From.ToString());
                            Logger.Log(m.Body.ToString());
                            ic.DeleteMessage(m);
                        }
                    }
                    Logger.Log($"::: {DateTime.Now} Mail count: {MailCount}");
                    ic.Dispose();
                }
            }
            catch (Exception _ex)
            {
                Logger.Log($"::: {DateTime.Now} Error: " + _ex.Message);
            }

            return(Mails);
        }
예제 #4
0
        private void ButGetMailFolders_Click(object sender, RoutedEventArgs e)
        {
            if (LineMailAdress.Text == "")
            {
                StateOfCheckMessage.Text = "Mail can't be empty!";
                return;
            }

            if (PasswdMail.Password == "")
            {
                StateOfCheckMessage.Text = "The password cannot be empty!";
                return;
            }

            try
            {
                AE.Net.Mail.ImapClient imap = new AE.Net.Mail.ImapClient("imap.gmail.com", LineMailAdress.Text, PasswdMail.Password, AE.Net.Mail.AuthMethods.Login, 993, true);

                var list = imap.ListMailboxes(string.Empty, "*");

                for (int count = 0; count < list.Length; count++)
                {
                    MailPartitions.Items.Add(list[count].Name);
                }
            }
            catch (Exception ex)
            {
                StateOfCheckMessage.Text = ex.Message;
                return;
            }
            finally
            {
                StateOfCheckMessage.Text = "Seccessfully!";
            }



            MailPartitions.SelectedIndex = 0;

            if (MailPartitions.Items.Count != 0)
            {
                ButCheckMail.IsEnabled = true;
            }
        }
예제 #5
0
        private void ButCheckMail_Click(object sender, RoutedEventArgs e)
        {
            ListMessages.Items.Clear();

            if (LineMailAdress.Text == "")
            {
                StateOfCheckMessage.Text = "Mail can't be empty!";
                return;
            }

            if (PasswdMail.Password == "")
            {
                StateOfCheckMessage.Text = "The password cannot be empty!";
                return;
            }

            try
            {
                AE.Net.Mail.ImapClient imap = new AE.Net.Mail.ImapClient("imap.gmail.com", LineMailAdress.Text, PasswdMail.Password, AE.Net.Mail.AuthMethods.Login, 993, true);

                imap.SelectMailbox(MailPartitions.SelectedItem.ToString());

                AE.Net.Mail.MailMessage[] Messages = imap.GetMessages(0, imap.GetMessageCount());

                foreach (AE.Net.Mail.MailMessage message in Messages)
                {
                    ListMessages.Items.Add(message.Subject);
                }

                imap.Dispose();
            }
            catch (Exception ex)
            {
                StateOfCheckMessage.Text = ex.Message;
                return;
            }
            finally
            {
                StateOfCheckMessage.Text = "Successfully!";
            }
        }