我正在使用Play(+ Scala)中的项目,在特定流程之后,会发送一封电子邮件。
电子邮件使用模板(例如email.scala.html),其中包含HTML并从“模型”(实际上是Map [String,String])中插入数据
我发现一些文本被编码,我不想编码
例如:
<a href="http://madeupsite.com?param1=x¶m2=y">link</a>
获取编码类似(通知&
替换为&
):
<a href="http://madeupsite.com?param1=x&param2=y">link</a>
这将破坏通过电子邮件发送的链接
如何将其包含在模板中:
<a href="@emailModel.get("url").get">link</a>
在代码中:
def prepareEmail(tuple: (Map[String, String], Map[String, String])): HtmlEmail = tuple match {
case (headers, emailBody) if headers.nonEmpty && emailBody.nonEmpty => {
def createMessageFromTemplate(model: Map[String, String]): String = {
views.html.email(model).toString
}
...
这一行是重要的一点
views.html.email(model).toString
我似乎无法在没有编码
的情况下找到任何渲染内容例如,这些似乎不起作用:
@Html(...)
@TxtFormat.raw(...)
@TxtFormat.raw(...).toString.replace("&", "&")
我不是Play / Scala专家,所以非常感谢任何帮助