Coldfusion использует неправильные (кэшированные?) Переменные случайным образом - PullRequest
0 голосов
/ 29 июня 2011

У нас есть выделенный сервер под управлением CentOS и Coldfusion 8.

Вся электронная почта cfmail направляется через Google с помощью cfmail и smtp.

Время от времени, когда используется cfmail, в поле «ОТ» используется адрес совершенно другого веб-сайта.

Например:

Используйте форму на сайте A Получите электронное письмо: «Тема: На сайте A От: siteb@siteb.com»

Если переменная from - это совершенно другая переменная в другом наборе кода в другой части сервера - нет причин, по которым она должна это видеть.

С другой стороны, иногда отправка электронного письма на sitea@sitea.com приводит к тому, что электронная почта попадает в папку «Входящие» сайта 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 ]

2 голосов
/ 29 июня 2011

Похоже, что это может быть var scoping проблема, но мы не можем знать наверняка, пока вы не поделитесь кодом ...

0 голосов
/ 05 июля 2011

Похоже, у вас несколько сайтов?на странице кэширования CF в админке есть настройка для кэширования путей веб-сервера:

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

Отключение атрибута cacheRealPath Чтобы гарантировать, что ColdFusion всегда возвращает страницы изна правильном сервере отключите пути кэширования веб-сервера на странице «Кэширование» администратора ColdFusion.(При использовании многосерверной конфигурации установите для атрибута cacheRealPath значение false для ProxyService в файле jrun_root / servers / servername / SERVER-INF / jrun.xml.)

Может быть и не такбыстро попробовать.

...