public ActionResult Mailer(Models.EmailDetailsModel Email)
        {
            if (ModelState.IsValid)
            {
                using (var db = new MailAppDBEntities())
                {
                    var EmailDetails  = db.EmailDetails.Create();
                    var user          = db.Users.FirstOrDefault(u => u.Email == this.HttpContext.User.Identity.Name);
                    var ConfigDetails = db.ConfigDetails.FirstOrDefault(u => u.UserID == u.UserID);

                    if (user != null & ConfigDetails != null)
                    {
                        EmailDetails.SenderName     = String.Format("{0} {1}", user.Name, user.LastName);
                        EmailDetails.SenderEmail    = user.Email;
                        EmailDetails.RecipientName  = Email.RecipientEmail.Substring(0, Email.RecipientEmail.IndexOf("@"));
                        EmailDetails.RecipientEmail = Email.RecipientEmail;
                        EmailDetails.Subject        = Email.Subject;
                        EmailDetails.Body           = Email.Body;
                        EmailDetails.MailingDate    = DateTime.Today;
                        EmailDetails.UserID         = user.UserID;
                        db.EmailDetails.Add(EmailDetails);
                        db.SaveChanges();

                        //using (var clientDetails = new SmtpClient("smtp.gmail.com", 587))
                        using (var clientDetails = new SmtpClient(ConfigDetails.SMTPHost, ConfigDetails.SMTPPort))
                        {
                            clientDetails.EnableSsl   = true;
                            clientDetails.Credentials = new System.Net.NetworkCredential(user.Email, user.Password);
                            clientDetails.EnableSsl   = true;
                            SmtpClientWrapper wrapper = new SmtpClientWrapper(clientDetails);
                            MailApplication.Mailers.IUserMailer mailer = new MailApplication.Mailers.UserMailer();
                            mailer.Welcome(Email.RecipientEmail, Email.Subject, Email.Body).Send(wrapper);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Please review your configuration settings");
                    }

                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                ModelState.AddModelError("", "Mail Data is incorrect");
            }
            return(View());
        }
        public ActionResult Mailer(Models.EmailDetailsModel Email)
        {
            if (ModelState.IsValid)
            {
                using (var db = new MailAppDBEntities())
                {
                    var EmailDetails = db.EmailDetails.Create();
                    var user = db.Users.FirstOrDefault(u => u.Email == this.HttpContext.User.Identity.Name);
                    var ConfigDetails = db.ConfigDetails.FirstOrDefault(u => u.UserID == u.UserID);

                    if (user != null & ConfigDetails != null)
                    {
                        EmailDetails.SenderName = String.Format("{0} {1}", user.Name, user.LastName);
                        EmailDetails.SenderEmail = user.Email;
                        EmailDetails.RecipientName = Email.RecipientEmail.Substring(0,Email.RecipientEmail.IndexOf("@"));
                        EmailDetails.RecipientEmail = Email.RecipientEmail;
                        EmailDetails.Subject = Email.Subject;
                        EmailDetails.Body = Email.Body;
                        EmailDetails.MailingDate = DateTime.Today;
                        EmailDetails.UserID = user.UserID;
                        db.EmailDetails.Add(EmailDetails);
                        db.SaveChanges();

                        //using (var clientDetails = new SmtpClient("smtp.gmail.com", 587))
                        using (var clientDetails = new SmtpClient(ConfigDetails.SMTPHost, ConfigDetails.SMTPPort))
                        {
                            clientDetails.EnableSsl = true;
                            clientDetails.Credentials = new System.Net.NetworkCredential(user.Email, user.Password);
                            clientDetails.EnableSsl = true;
                            SmtpClientWrapper wrapper = new SmtpClientWrapper(clientDetails);
                            MailApplication.Mailers.IUserMailer mailer = new MailApplication.Mailers.UserMailer();
                            mailer.Welcome(Email.RecipientEmail, Email.Subject, Email.Body).Send(wrapper);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Please review your configuration settings");
                    }

                    return RedirectToAction("Index", "Home");
                }
            }
            else
            {
                ModelState.AddModelError("", "Mail Data is incorrect");
            }
            return View();
        }