I am using nodemailer
to send HTML formatted email but cannot include script tag inside HTML.
const emailFormat = `
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.demo{
border: 5px solid red;
border-radius: 8px;
width: 200px;
text-align: center;
}
</style>
<script>
document.getElementById("demo").innerHTML = "I have changed!";
</script>
</head>
<body>
<div class="demo">"name"</div>
<div>"desc"</div>
</body>
</html>
`;
sending email like this using nodemailer
let info = await transporter.sendMail({
from: `"Proud Poshak" <${employeeEmail}>`, // sender address
to: userEmail, // list of receivers
subject: "Hello world", // Subject line
html: emailFormat, // html body
});
the above html does not read script tag, whether i put it inside head
or body
. How can I fix this?
Additionally, as I am sending email from node.js
using nodemailer. Is there a better way to require entire html file and just pass that file that way I wont have to write html inside template string ?