public string GetVerifyEmailAddressUrl(string id)
        {
            int       counter    = 0;
            TempEmail mailInbox  = GetInbox(id);
            int       EmailCount = mailInbox.Emails.Count;

            while (EmailCount <= 0 && counter < 60)
            {
                var mailInboxNew = GetInbox(id);
                EmailCount = mailInboxNew.Emails.Count;
                Thread.Sleep(TimeSpan.FromSeconds(5));
                counter++;
            }
            Thread.Sleep(TimeSpan.FromSeconds(10));
            if (EmailCount > 0)
            {
                var inbox = GetInbox(id);
                foreach (var item in inbox.Emails)
                {
                    if (item.Subject.Contains(XmlHelper.GetKey("VerifyEmailAddressSubject")))
                    {
                        Email message = GetMessageById(item.Uid);
                        var   msg     = message.Text.Split(new string[] { " \r\n\r\n" }, StringSplitOptions.None);
                        for (int i = 0; i < msg.Length; i++)
                        {
                            if (msg[i].Contains("copy and paste"))
                            {
                                return(msg[i + 1]);
                            }
                        }
                    }
                }
            }
            return(null);
        }
 public List <String> GetCredentialsFromLastEmail(string id)
 {
     try
     {
         CookieContainer cookies  = new CookieContainer();
         string          url      = InboxURL + id;
         Response        response = HttpUtil.Get(url, cookies);
         TempEmail       tempmail = JsonConvert.DeserializeObject <TempEmail>(response.Json);
         var             userCred = GetUserDetailsById(tempmail.Emails.LastOrDefault().Uid);
         return(userCred);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         return(null);
     }
 }
 public TempEmail GetInbox(string id)
 {
     try
     {
         Console.WriteLine("Started GetInbox");
         CookieContainer cookies = new CookieContainer();
         string          url     = InboxURL + id;
         Console.WriteLine("Started Response");
         Response response = HttpUtil.Get(url, cookies);
         Console.WriteLine("Started Dederialize");
         TempEmail tempmail = JsonConvert.DeserializeObject <TempEmail>(response.Json);
         this.Cookies    = response.Cookies;
         this.EmailCount = tempmail.Emails.Count;
         this.Emails     = tempmail.Emails;
         return(tempmail);
     }
     catch (Exception ex)
     {
         Console.WriteLine("GetInbox {0}", ex.Message);
         return(null);
     }
 }
        public List <string> SearchMailBySubjectAndGetUserDetails(string id, string subject, int count)
        {
            int       counter    = 0;
            TempEmail mailInbox  = GetInbox(id);
            int       EmailCount = mailInbox.Emails.Count;

            Console.WriteLine("Started while");
            while (EmailCount <= count && counter < 60)
            {
                //if(counter > 60)
                //{
                //    Console.WriteLine("Missing Creadentials Inbox");
                //    break;
                //}
                Thread.Sleep(TimeSpan.FromSeconds(10));
                var mailInboxNew = GetInbox(id);
                EmailCount = mailInboxNew.Emails.Count;
                Console.WriteLine("Email Count-->{0}" + EmailCount);
                Thread.Sleep(TimeSpan.FromSeconds(10));
                counter++;
            }
            Thread.Sleep(TimeSpan.FromSeconds(10));
            if (EmailCount > count)
            {
                Console.WriteLine("Started EmailCount greater");
                var inbox = GetInbox(id);
                foreach (var item in inbox.Emails)
                {
                    if (item.Subject.Contains(subject))
                    {
                        var userCred = GetUserDetailsById(item.Uid);
                        return(userCred);
                    }
                }
            }
            return(null);
        }
        public int GetEmailCount(string id)
        {
            TempEmail tempmail = GetInbox(id);

            return(tempmail.Emails.Count);
        }