【发布时间】:2009-12-09 02:27:30
【问题描述】:
我的客户有一个电子邮件正文的数据库表,这些电子邮件正文会在特定时间发送给客户。电子邮件的文本包含 ColdFusion 表达式,例如 Dear #firstName# 等。这些电子邮件是 HTML - 它们还包含各种 HTML 标记。我想做的是将数据库中的文本读入一个字符串,然后让 ColdFusion Evaluate() 该字符串解析变量。当我这样做时, Evaluate() 会引发异常,因为它不喜欢其中的 HTML 标记(我还尝试通过 HTMLEditFormat() 过滤字符串作为笑声的中间步骤,但它不喜欢其中的实体) .
我的前任通过将电子邮件文本写入文件然后 cfinclude 解决了这个问题。有用。不过,这似乎真的很hacky。有没有更优雅的方法来处理这个问题,比如我没有看到的 Evaluate?
【问题讨论】:
-
我想指出,将其写入 FS 或使用 Evaluate() 允许执行任何和所有代码。如果不小心处理,这可能会导致安全问题。我会选择@kevink 的每个变量替换。
-
同意本。评估工作正常,直到您每秒收到如此多的请求以致 CF 给出错误。到目前为止,我发现替换是最好的方法。
标签: coldfusion