Tengo un buen diseño web html largo. Mi objetivo es enviar un correo electrónico haciendo clic en el botón en la parte inferior de esta página.
En primer lugar, asigno todo el código html de la página web abierta en el lado de javascript a una variable.
var pageContent = $("body").html();Estoy enviando esta variable al servicio web que se ejecuta en mi local
$.getJSON("MailSend?mail_adres=example@gmail.com&content=" + pageContent + "", function (datas) { console.log(datas); });En el lado de asp.net mvc, el código de back-end de este servicio web json es el siguiente;
public JsonResult MailSend(string mail_adres,string content) { if (ModelState.IsValid) { MailMessage mail = new MailMessage(); mail.To.Add(mail_adres); mail.From = new MailAddress("example@mydomain.com"); mail.Subject = "Try mail"; string Body = content.ToString(); mail.Body = Body; mail.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.mydomain.com"; smtp.Port = 587; smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential("example@mydomain.com", "mypassword"); smtp.EnableSsl = false; smtp.Send(mail); return Json("ok",JsonRequestBehavior.AllowGet); } else { return Json("no", JsonRequestBehavior.AllowGet); } }Se ha detectado un código potencialmente malicioso en el cliente, pero esto es normal. Hay caracteres especiales y diferentes como < > en códigos html
Texto de error completo: System.Web.HttpRequestValidationException: se detectó un valor Request.QueryString potencialmente dañino en el cliente.
Captura de pantalla de intentar enviar código html directamente sin la dirección de correo electrónico seleccionada;
¿Qué debo hacer para esto?