我们有一台运行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>
答案 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。)
可能不是它,但它至少可以快速尝试。