如何使电子邮件请求与动态HTML响应一起使用?

时间:2019-05-13 15:58:44

标签: javascript html node.js amazon-ses

我正在使用AWS SES(Nodejs)发送HTML电子邮件。它可以与静态HTML一起使用,但是我不知道如何使其与动态HTML一起使用。

nodejs文件

HTML = "..." // load external html file
var params = {
    Destination: {/* required */
        ToAddresses:[abc@gmail.com, test@gmail.com]
    },
    Message: {/* required */
        Body: { /* required */
            Html: {
                Data: HTML,
                Charset: 'UTF-8'
            },
        },
        Subject: { /* required */
            Data: 'Test email', /* required */
            Charset: 'UTF-8'
        }
    },
    Source: "myemail@gmail.com"
}

ses.sendEmail(params, function(err, data) {
  // If something goes wrong, print an error message.
  if(err) {
    console.log(err.message);
  } else {
    console.log("Email sent! Message ID: ", data.MessageId);
  }
});

html文件

<html>
<head></head>
<body>
  <h1>Amazon SES Test</h1>
  <p>Your order is placed.
    <a href='https://example.com/id=1234125'>View your order</a> 
   </p>
</body>
</html>

我的问题:如何将href从nodejs文件传递到html文件作为变量。

任何建议都值得赞赏。

1 个答案:

答案 0 :(得分:1)

您可以在HTML中使用占位符,例如<a href="HREF_PLACEHOLDER">...</a>

然后在HTML上使用string.replace()将其替换为所需的实际href。

例如:

function dynamicHtml(href) {
  return HTML.replace("HREF_PLACEHOLDER", href);
}

而不是将HTML传递给您的params对象,而将其传递给dynamicHtml()