gpt4 book ai didi

javascript - 如何从 NodeJS 中的另一个文件读取 HTML(用于电子邮件正文)

转载 作者:行者123 更新时间:2023-11-30 09:41:56 25 4
gpt4 key购买 nike

我是 NodeJS 的新手。我开始制作联系我们页面,该页面在提交后会向用户发送一封包含以下 HTML 的确认电子邮件。

<p>Hello Sujit,</p>
<p>Thank you for approaching us.</p>
<p>We have received your request and our executive will get in touch with you soon.</p>
<p>Thank you.</p>

发送邮件的代码如下:

var mailer = require("nodemailer");

var emailBody = "<HTML above>";

// Use Smtp Protocol to send Email
var smtpTransport = mailer.createTransport("SMTP",{
service: "#######",
auth: {
user: "#########",
pass: "#######"
}
});

var mail = {
from: "######################",
to: params.email,
subject: "Welcome user.",
text: "",
html: emailBody
}

smtpTransport.sendMail(mail, function(error, response){
if(error){
console.log("Mail error:>>");
console.log(error);
}else{
console.log("Message sent: " + response.message);
}

smtpTransport.close();
});

目前,我使用 nodemailer 发送这封电子邮件,其 HTML 正文定义在同一文件 - app.js 中。到目前为止它工作正常。但是,有什么办法可以将 HTML 与“名称”的变量/占位符分开并放置在其他文件中,以便可以直接管理正文内容?我可以通过某种方式将正文内容加载到变量 emailBody 中。

谢谢。

最佳答案

是的!!创建一个名为“templates”的文件夹,用于为特定电子邮件创建文本文件。喜欢 welcome.txt。在 welcome.txt 中编写代码,如

<p>Hello #name,</p>
<p>Thank you for approaching us.</p>

然后使用 fs 模块,您可以像 fs.readFile([filepath]) 一样读取该文件并将该值存储在变量中。比如 var mailContent = fs.readFile([filepath])。然后使用 javascript 替换函数将 #name 替换为实际名称。比如mailContent.replace('#name','abcd')

关于javascript - 如何从 NodeJS 中的另一个文件读取 HTML(用于电子邮件正文),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40718669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com