private void Mails(BasketModalClient client)
        {
            var Mails = Task.Factory.StartNew(() =>
            {
                var MailT1 = Task.Factory.StartNew(() => // вложенная задача
                {
                    Mail(client);
                });
                var MailT2 = Task.Factory.StartNew(() =>
                {
                    if (client.EmailToClient)
                    {
                        Mail(client, client.Email);
                    }
                });
                //var MailEXCEPTION = Task.Factory.StartNew(() =>
                //{
                //    Mail(EXCEPTION_MAIL);
                //});
                MailT1.Wait();
                MailT2.Wait();
                //MailEXCEPTION.Wait();
            });

            Mails.Wait();
        }
 public ActionResult SubmitModalData(BasketModalClient client)
 {
     if (client.Capcha != Session["capcha"].ToString())
     {
         return(Content(""));//error
     }
     //if (Validation(client))
     if (1 == 1)
     {
         Mails(client);
     }
     else
     {
         //мож  прислать себе не правельно оформленный  заказ
         return(Content("")); //error
     }
     return(Content(""));     //все  еще не  работает
     //return RedirectToAction("Products", "Basket");
 }
 private bool Validation(BasketModalClient client)
 {
     if (!ValidateNick(client.FirstName))
     {
         return(false);
     }
     if (!ValidateNick(client.LastName))
     {
         return(false);
     }
     if (!ValidateNick(client.SecondName))
     {
         return(false);
     }
     if (!ValidateEmail(client.Email))
     {
         return(false);
     }
     if (!ValidatePhone(client.Phone))
     {
         return(false);
     }
     return(true);
 }
        private void Mail(BasketModalClient client, string EmailTO = SELF_MAIL_test)
        {
            if (EmailTO == SELF_MAIL_test)
            {
                try
                {
                    // отправитель - устанавливаем адрес и отображаемое в письме имя
                    //MailAddress from = new MailAddress(SELF_MAIL,$"{LName} {FName} {SName}");
                    MailAddress from = new MailAddress(SELF_MAIL_test, $"{client.LastName} {client.FirstName} {client.SecondName}");
                    // кому отправляем
                    MailAddress to = new MailAddress(EmailTO); // "*****@*****.**" [email protected]//[email protected]
                                                               // создаем объект сообщения
                    MailMessage m = new MailMessage(from, to);
                    // тема письма
                    m.Subject = $"Заказ от : {client.LastName} {client.FirstName} {client.SecondName}";
                    // текст письма
                    //if (EXCEPTION_MAIL.ToUpper() == "ZZ")
                    if (EXCEPTION_MAIL.ToUpper() == client.Email.ToUpper())
                    {
                        //string t = $"<h1>Имя компа {System.Security.Principal.WindowsIdentity.GetCurrent().Name}</h1><h3><br>"/*{t}*/ + PKInfo() + "</h3><br>";
                        //string z = "";
                        //foreach (var i in ExceptionForMail.ExceptionList)
                        //{ z += i + "\n<br>"; }
                        //m.Body = $"{t} <h1>{student.Lname} {student.Fname} {student.Sname}</h1><h2>{student.Group} класс</h2> <br>{_result_string} <br> ------------------------------------<br> {_result_string_diff}" +
                        //    $"<br><h2>EXCEPTION ({ExceptionForMail.ExceptionList.Count}) </h2><br>" + z;
                    }
                    else
                    {
                        var     list = (Session["ListProduct"] as List <BasketProduct>);
                        decimal?sum  = 0;
                        m.Body = $"<div><lable><strong>ФИО :</strong></lable> <lable> {client.LastName} {client.FirstName} {client.SecondName}  </lable></div>" +
                                 $"<div><lable><strong>E-Mail :</strong></lable> <lable>  {client.Email}</lable></div>" +
                                 $"<div><lable><strong>Телефон :</strong></lable>  <lable> {client.Phone} </lable></div>" +
                                 $"<div><lable><strong>Дополнительно :</strong></lable>  <lable> {client.Message} </lable></div>";
                        m.Body += " <h3  style=\"font-size: 25px\">Список Приборов</h3><ul>";
                        foreach (var item in list)
                        {
                            m.Body += $"<li style=\"font-size: 15px\"> {item.ToString()}</li>";
                            sum    += item.Price * item.Count;
                        }
                        m.Body += "</ul>";
                        m.Body += $"<h2> Сумма заказа - {sum} грн.</h2>";
                    }
                    // письмо представляет код html
                    m.IsBodyHtml = true;
                    // Вложения
                    //AttachEXCEL(ref m);
                    //AttachPDF(ref m);

                    // адрес smtp-сервера и порт, с которого будем отправлять письмо
                    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587)
                    {                    // логин и пароль
                        Credentials = new NetworkCredential("*****@*****.**", "Q1W2E3R4QWER"),
                        EnableSsl   = true
                    };
                    smtp.Send(m);
                    m.Dispose();
                }
                catch (Exception ex)
                {
                    //ExceptionForMail.ExceptionList.Add(new myException(this.GetType().Name, 660, ex.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
                }
            }
            else
            {
                try
                {
                    MailAddress from = new MailAddress(SELF_MAIL_test, "OWENFAST" /*$"{client.LastName} {client.FirstName} {client.SecondName}"*/);
                    MailAddress to   = new MailAddress(EmailTO);// "*****@*****.**" [email protected]//[email protected]
                    MailMessage m    = new MailMessage(from, to);
                    m.Subject = $"OWENFAST : Заказ оборудовния овен";
                    {
                        var     list = (Session["ListProduct"] as List <BasketProduct>);
                        decimal?sum  = 0;
                        m.Body = $"<div><lable><strong>ФИО :</strong></lable> <lable> {client.LastName} {client.FirstName} {client.SecondName}  </lable></div>" +
                                 $"<div><lable><strong>E-Mail :</strong></lable> <lable>  {client.Email}</lable></div>" +
                                 $"<div><lable><strong>Телефон :</strong></lable>  <lable> {client.Phone} </lable></div>" +
                                 $"<div><lable><strong>Дополнительно :</strong></lable>  <lable> {client.Message} </lable></div>";
                        m.Body += " <h3  style=\"font-size: 25px\">Список Приборов</h3><ul>";
                        foreach (var item in list)
                        {
                            m.Body += $"<li style=\"font-size: 15px\"> {item.ToString()}</li>";
                            sum    += item.Price * item.Count;
                        }
                        m.Body += "</ul>";
                        m.Body += $"<h2> Сумма заказа - {sum} грн.</h2>";
                    }
                    m.IsBodyHtml = true;
                    SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587)
                    {                    // логин и пароль
                        Credentials = new NetworkCredential("*****@*****.**", "Q1W2E3R4QWER"),
                        EnableSsl   = true
                    };
                    smtp.Send(m);
                    m.Dispose();
                }
                catch (Exception ex)
                {
                    //ExceptionForMail.ExceptionList.Add(new myException(this.GetType().Name, 660, ex.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
                }
            }
        }