Coldfusion随机使用错误(缓存?)变量

时间:2011-06-29 18:23:05

标签: coldfusion

我们有一台运行CentOS和Coldfusion 8的专用服务器。

所有cfmail电子邮件都通过Google使用cfmail和smtp进行路由。

使用cfmail时,'FROM'字段会使用来自完全不同网站的地址。

例如:

在网站A上使用表格 收到一封电子邮件:“主题:网站A来自:siteb@siteb.com”

如果from是服务器另一部分的另一组代码中的完全不同的变量,则没有理由看到它。

另一方面,有时向sitea@sitea.com发送电子邮件会在Site B收件箱中收到电子邮件,这是一个完全不同的Google帐户。

是什么导致这种情况发生?某种内存/缓存问题?或者是否存在导致问题的时髦DNS记录?

示例:

Application.cfm(从一些UDF开始包括,然后):

<cfinvoke component="#request.componentPath#.variables" method="getGlobal" />

Variables.cfc(其中定义了很多变量,但这里是cfmail变量):

<cffunction name="getGlobal" access="public" output="false" returntype="void">
   <cfscript>
      request.siteEmail = "email@mysite.com";
      request.siteMailServer = "smtp.gmail.com";
      request.siteMailUsername = "root@mysite.com";
      request.siteMailPassword = "[redacted]";
   </cfscript>
</cffunction>

2 个答案:

答案 0 :(得分:2)

听起来这可能是一个var scoping问题,但在您分享一些代码之前我们无法确定...

答案 1 :(得分:0)

看起来你在运行多个网站?在管理员的CF缓存页面中有一个用于缓存Web服务器路径的设置:

来自http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf3638e6-7ffc.html

禁用cacheRealPath属性要确保ColdFusion始终从正确的服务器返回页面,请在ColdFusion Administrator的“缓存”页面中禁用“缓存Web服务器路径”。 (使用多服务器配置时,请在jrun_root / servers / servername / SERVER-INF / jrun.xml文件中为ProxyService设置cacheRealPath属性为false。)

可能不是它,但它至少可以快速尝试。