Email Html Inject
Para evitar a injeção de HTML em e-mails, limpe os parâmetros de entrada usados para criar o corpo da mensagem usando métodos como WebUtility.HtmlEncode() ou HttpUtility.HtmlEncode(). Se você não estiver adicionando código HTML ao corpo da sua mensagem de e-mail, definir o cabeçalho MIME como "text/plain" também impedirá a injeção de HTML.
[HttpGet("SendEmail")]
[Route("SendEmail")]
public IActionResult SendEmail(string email, string firstName, string lastName)
{
var contentHtml = $"Hi {firstName} {lastName}, <br />" +
"We appreciate you subscribing to our newsletter. To complete your subscription, kindly click the link below. <br />" +
"<a href=\"https://localhost/confirm?token=435345\">Complete your subscription</a>";
contentHtml = WebUtility.HtmlEncode(contentHtml);
var mailMessage = new MailMessage
{
Body = contentHtml,
IsBodyHtml = true
};
// Additional mail sending logic here
// ...
return Ok();
}