public ActionResult Index(ContactusViewModel vm) { if (ModelState.IsValid) { try { MailMessage msg = new MailMessage(); msg.From = new MailAddress(vm.Email); msg.To.Add(new MailAddress("*****@*****.**")); msg.Subject = vm.Subject; string userMessage = ""; userMessage = "<br/>Name :" + vm.Name; userMessage = userMessage + "<br>Email Id: " + vm.Email; userMessage = userMessage + "<br/>Subject: " + vm.Subject; userMessage = userMessage + "<br/>Message: " + vm.Message; msg.Body = "Hi, <br/><br/> A new enquiry by user. Detail is as follows:<br/><br/> " + userMessage + "<br/><br/>Thanks"; msg.IsBodyHtml = true; SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", Convert.ToInt32(587)); System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("*****@*****.**", "Qwert12345."); smtpClient.Credentials = credentials; smtpClient.EnableSsl = true; smtpClient.Send(msg); ModelState.Clear(); ViewBag.Message = "Thank you for Contacting us "; } catch (Exception ex) { ModelState.Clear(); ViewBag.Message = $" Sorry we are facing Problem here {ex.Message}"; } } return(View()); }
public ActionResult Contactus() { // if is logged iusern and logged in user is not member then redirect to admin dashboard if (User.Identity.IsAuthenticated) { var user = _dbcontext.Users.Where(x => x.EmailID == User.Identity.Name).FirstOrDefault(); if (user.RoleID != _dbcontext.UserRoles.Where(x => x.Name.ToLower() == "member").Select(x => x.ID).FirstOrDefault()) { return(RedirectToAction("Dashboard", "Admin")); } } // viewbag for active class in navigation ViewBag.Contactus = "active"; // check if user is authenticated then we need to show full name and email if (User.Identity.IsAuthenticated) { // if user is authenticated then get user var user = _dbcontext.Users.Where(x => x.EmailID == User.Identity.Name).FirstOrDefault(); // create contact us viewmodel ContactusViewModel viewmodel = new ContactusViewModel(); viewmodel.FullName = user.FirstName + " " + user.LastName; viewmodel.Email = user.EmailID; // return viewmodel return(View(viewmodel)); } else { return(View()); } }
public ActionResult Contactus(ContactusViewModel contactusviewmodel) { if (ModelState.IsValid) { // if user is authenticated if (User.Identity.IsAuthenticated) { var user = _dbcontext.Users.Where(x => x.EmailID == User.Identity.Name).FirstOrDefault(); // if user is authenticated then email is same as user's email id that he entered during sign up contactusviewmodel.Email = user.EmailID; } // send mail BuildContactusTemplate(contactusviewmodel); return(RedirectToAction("Contactus")); } else { return(View(contactusviewmodel)); } }
// send mail to admin public void BuildContactusTemplate(ContactusViewModel contactusviewmodel) { string from, to, subject, bodytxt, body; // get all text from contactus from emailtemplate directory bodytxt = System.IO.File.ReadAllText(HostingEnvironment.MapPath("~/EmailTemplate/") + "Contactus" + ".cshtml"); // replace fullname and comment bodytxt = bodytxt.Replace("ViewBag.FullName", contactusviewmodel.FullName.Trim()); bodytxt = bodytxt.Replace("ViewBag.Comment", contactusviewmodel.Comment.Trim()); bodytxt = bodytxt.ToString(); // get support email and notify email var fromemail = _dbcontext.SystemConfigurations.Where(x => x.Key == "supportemail").FirstOrDefault(); var tomail = _dbcontext.SystemConfigurations.Where(x => x.Key == "notifyemail").FirstOrDefault(); // set from, to, subject, body from = fromemail.Value.Trim(); to = tomail.Value.Trim(); subject = contactusviewmodel.Subject + " - Query"; StringBuilder sb = new StringBuilder(); sb.Append(bodytxt); body = sb.ToString(); // create mailmessage object MailMessage mail = new MailMessage(); mail.From = new MailAddress(from, "NotesMarketplace"); mail.To.Add(new MailAddress(to)); mail.Subject = subject; mail.Body = body; mail.IsBodyHtml = true; // send mail (NotesMarketplace/SendMail/) SendingEmail.SendEmail(mail); }