在 nodemailer html 正文中插入数组项

Insert array items in nodemailer html body

我正在使用包含 HTML 作为邮件正文的 nodemailer 发送邮件。我需要遍历一个数组并将数组项作为列表放入 HTML 中。我尝试了 forEach 方法和 for 循环,但都是徒劳的。

数组

[
  "1 ABC 1",
  "2 XYZ 1",
  "3 ZXC 1",
  "4 RYT 1",
]

NODEMAILER 代码

var mailOptions = {
        from: '<xyz@gmail.com>',
        to: email,
        subject: 'Your order has been placed successfully.',
        html:`<h2>Your order confirmation is below</h2>
              <li>${arrayItems},</li>`
      };

我需要显示上面显示的 li 标签中的所有数组元素。我使用 HTML 变量而不是新文件的原因是当我将 HTML 代码放在不同的文件中时,Gmail 拒绝邮件并且收件人没有收到它。我试图将脚本标签放入这个 HTML 变量中,但它 returns 未定义。

检查下面的示例以将列表生成为文本并嵌入到您的 html 正文中。

var list = [
  "ABC 1",
  "XYZ 1",
  "ZXC 1",
  "RYT 1",
];

var arrayItems = "";
var n;
for (n in list) {
  arrayItems += "<li>" + list[n] + "</li>";
}

var mailOptions = {
  from: '<xyz@gmail.com>',
  to: 'email',
  subject: 'Your order has been placed successfully.',
  html: `<h2>Your order confirmation is below</h2>
              <ul>${arrayItems},</ul>`
};

console.log(mailOptions);