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

Coldfusion随机使用错误的(缓存的?)变量,coldfusion,Coldfusion,我们有一台运行CentOS和Coldfusion 8的专用服务器 所有的cfmail电子邮件都通过谷歌发送,带有cfmail和smtp 偶尔,当使用cfmail时,“发件人”字段会使用来自完全不同网站的地址 例如: 使用网站A上的表格 收到电子邮件:“主题:在站点A上,发件人:siteb@siteb.com" 其中from是服务器另一部分上的另一组代码中的一个完全不同的变量-它没有理由看到这一点 另一方面,有时会发送电子邮件给sitea@sitea.com电子邮件在站点B收件箱中结束,这是一个完

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

所有的cfmail电子邮件都通过谷歌发送,带有cfmail和smtp

偶尔,当使用cfmail时,“发件人”字段会使用来自完全不同网站的地址

例如:

使用网站A上的表格 收到电子邮件:“主题:在站点A上,发件人:siteb@siteb.com"

其中from是服务器另一部分上的另一组代码中的一个完全不同的变量-它没有理由看到这一点

另一方面,有时会发送电子邮件给sitea@sitea.com电子邮件在站点B收件箱中结束,这是一个完全不同的谷歌账户

是什么导致了这种情况?某种内存/缓存问题?或者是否存在导致问题的古怪DNS记录

例如:

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


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


request.siteEmail=”email@mysite.com";
request.siteMailServer=“smtp.gmail.com”;
request.siteMailUsername=”root@mysite.com";
request.siteMailPassword=“[redact]”;

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

看起来您正在运行多个站点?admin中的CF caching页面中有一个用于缓存web服务器路径的设置:

发件人:

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


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

简单地开始。什么类型的
变量
?邮件使用什么代码?是否涉及共享作用域?仅在应用程序作用域中。cfmail标记正在从Application.cfc调用request vars,以定义邮件服务器和身份验证凭据。您能给出一个应用程序的最小示例吗?涉及cfc、邮件代码(以及是否涉及任何其他cfc)?我们可以查看两个站点的Application.cfc吗?您的两个应用程序是否共享相同的应用程序名称?
<cfinvoke component="#request.componentPath#.variables" method="getGlobal" />
<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>