예제 #1
0
 public void init()
 {
     //Get unread message list from GMail
     using (ImapClient cl = new ImapClient("imap.yandex.ru"))
     {
     cl.Port = 993;
     cl.Ssl = true;
     cl.UserName = "******";
     cl.Password = "******";
     var bl = cl.Authenticate();
     if (bl == true)
     {
     //Select folder
     ImapFolder folder = cl.SelectFolder("INBOX");
     DateTime time;
     //Search Unread
     SearchResult list = cl.ExecuteSearch("UNSEEN UNDELETED");
        List< HigLabo.Mime.MailMessage > mg=new List<HigLabo.Mime.MailMessage>();
     //Get all unread mail
     for (int i = 0; i < list.MailIndexList.Count; i++)
     {
     mg.Add(cl.GetMessage(list.MailIndexList[i]));
     }
     for (int i = 0; i < list.MailIndexList.Count; i++)
     {
     time = mg[i].Date.LocalDateTime;
     }
     }
     //Change mail read state as read
       //  cl.ExecuteStore(1, StoreItem.FlagsReplace, "UNSEEN");
     }
 }
예제 #2
0
        public string GetTrubleMessageText(string sender, string subject, DateTime localDate)
        {
            string result = null;
            string server = ImapServer;


            try
            {
                using (HigLabo.Net.Imap.ImapClient cl = new HigLabo.Net.Imap.ImapClient(server))
                {
                    cl.UserName = Email;
                    cl.Password = Password;
                    cl.Port     = ImapPort;
                    cl.Ssl      = ImapSSL;
                    var bl = cl.Authenticate();

                    if (bl == true)
                    {
                        ImapFolder               folder = cl.SelectFolder("INBOX");
                        SearchResult             list   = cl.ExecuteSearch("UNSEEN UNDELETED");
                        HigLabo.Mime.MailMessage mg     = null;
                        for (int i = 0; i < list.MailIndexList.Count; i++)
                        {
                            mg = cl.GetMessage(list.MailIndexList[i]);
                            if (mg.Date.LocalDateTime == localDate && mg.From.Value.Equals(sender) && mg.Subject.Trim().Equals(subject))
                            {
                                break;
                            }
                        }

                        if (mg != null && mg.BodyText != null)
                        {
                            result = mg.BodyText;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Ошибка при повторной загрузке текста сообщения с почтового ящика " + (Email ?? "") + ".\r\nАдрес сервера:" + (server ?? "") + ".\r\nУдаленный порт: " + ImapPort + "\r\nШифрование:" + (ImapSSL ? "Включено" : "Выключено") + "\r\nТекст ошибки:", e);
            }
            return(result);
        }
예제 #3
0
        public string GetTrubleMessageText(string sender, string subject, DateTime localDate)
        {
            string result = null;
            string server = ImapServer;

            try
            {
                using (HigLabo.Net.Imap.ImapClient cl = new HigLabo.Net.Imap.ImapClient(server))
                {
                    cl.UserName = Email;
                    cl.Password = Password;
                    cl.Port = ImapPort;
                    cl.Ssl = ImapSSL;
                    var bl = cl.Authenticate();

                    if (bl == true)
                    {
                        ImapFolder folder = cl.SelectFolder("INBOX");
                        SearchResult list = cl.ExecuteSearch("UNSEEN UNDELETED");
                        HigLabo.Mime.MailMessage mg = null;
                        for (int i = 0; i < list.MailIndexList.Count; i++)
                        {
                            mg = cl.GetMessage(list.MailIndexList[i]);
                            if (mg.Date.LocalDateTime == localDate && mg.From.Value.Equals(sender) && mg.Subject.Trim().Equals(subject))
                                break;
                        }

                        if (mg != null && mg.BodyText != null)
                            result = mg.BodyText;
                    }
                }

            }
            catch (Exception e)
            {
                logger.Error("Ошибка при повторной загрузке текста сообщения с почтового ящика " + (Email ?? "") + ".\r\nАдрес сервера:" + (server?? "") + ".\r\nУдаленный порт: " + ImapPort + "\r\nШифрование:" + (ImapSSL ? "Включено" : "Выключено") + "\r\nТекст ошибки:" , e);

            }
            return result;
        }