返回

json-新行不与AWS SES保持一致

发布时间:2022-06-27 17:36:18 307
# mongodb

我正在尝试从联系表单中的<input>s 和<textarea>s 获取数据,将它们发送到我的 API,然后将它们放入 AWS SES 模板中,以便将这些值作为电子邮件发送。

对于任何人<textarea>,当我做类似的事情时

TemplateData: JSON.stringify(formValues),

给定formValues: FormValues哪个具有直接来自 HTML 输入的值

export type FormValues = {

  email: string,

  message: string,

}

它会导致发送一封电子邮件,删除所有新行。它似乎取代了\\n对最终电子邮件没有影响的它们。

我认为理想情况下我会message.replaceAll("\n", "\r\n")为Text电子邮件和电子邮件message.replaceAll("\n", "<br/>")做一个Html。但这似乎很不方便,特别是因为这种格式被卡在定义如下的模板中

{

  "Template": {

    "TemplateName": "Contact",

    "SubjectPart": "Enquiry",

    "HtmlPart": "<!DOCTYPE html><html lang=\"en-GB\"><body><b>Email:</b> {{email}}<br/><br/><b>Message:</b> {{message}}</body></html>",

    "TextPart": "Email: {{email}}\r\nMessage: {{message}}"

  }

}

所以,我看不出不使用电子邮件和电子邮件如何解决<br/,Html但\t\r\n我Text也想不出一种干净的方法来实现这一点。

谢谢。

编辑:我意识到它可能与我的 sanitize 功能有关,看起来像

function sanitiseFormValue(formValue: string): string {

  return formValue

  .replaceAll("&", "&amp;")

  .replaceAll("<", "&lt;")

  .replaceAll(">", "&rt;")

  .replaceAll("\\", "&bsol;")

  .replaceAll("\"", "&quot;")

  .replaceAll("'", "&apos;")

  .replaceAll("`", "&#96;")

}

它在JSON.stringify. 但是,我不确定如何解决这个问题。如果这是干扰,我会感到惊讶。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像