Node.js发送电子邮件模板ejs使用flexbox

时间:2020-04-19 19:50:13

标签: javascript node.js ejs nodemailer

我正在编码一个模板,并开始将ejs用于邮件模板。但是,当我将内联css与ejs结合使用时,它不会呈现在Gmail等邮件服务器中。我是使用ejs的新手,所以如果我错误地使用flexbox会感到非常困惑。因为输出与我想要的无关。

这是我的ejs文件。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="x-apple-disable-message-reformatting" />
  </head>

  <body style="margin: 0; padding: 0; display: flex; flex-direction: column;">
    <div style="display: flex; background-color: burlywood; height: 40; width: 100%; border: 1px solid black;"><p>header</p></div>
    <div style="display: flex; background-color: burlywood; height: 200; width: 100%; border: 1px solid black;"><p>bodhy</p></div>
    <div style="display: flex; background-color: burlywood; height: 40; width: 100%; border: 1px solid black;"><p>footer</p></div>
  </body>
</html>

这是我的节点代码。

const data = await ejs.renderFile(__dirname + "/simple.ejs", {name: "Name"});

  const mainOptions = {
    from: "my@address",
    to: "to@address",
    subject: "Please activate your account",
    html: data,
  };

  transporter.sendMail(mainOptions, (err, info) => {
    if (err) {
      console.log(err);
    } else {
      console.log("Message sent: " + info.response);
    }
  });

这是Gmail中的输出。 screenshot

我试图用不同的内部比例系统编写一个flexbox,但是ejs文件不接受我的height或width属性。我想学习我错了。

谢谢。

1 个答案:

答案 0 :(得分:0)

我不知道它是否仍然有用,但是电子邮件服务器无法识别flexbox。您需要使用互联网的1年级CSS(例如表格)来对齐您的内容