2015-04-21 4 views
0

Существует новый настройки Application.cfc в ColdFusion 10, которая:нужно использовать настройки Smtp из ColdFusion 10

this.smtpServersettings = as a structure 

Я могу жестко закодировать значения здесь, но я коплю мои настройки почты в базы данных, и я хочу использовать эти значения здесь, можно или нет использовать настройки базы данных здесь или нет.

вот мое обновление:

<cfcomponent hint="File for the Website" output="false"> 
    <cfsetting showdebugoutput="no"> 
    <cfset this.name = "myProject1"> 
    <cfset this.applicationTimeout = createTimeSpan(2,0,0,0)> 
    <cfset this.clientmanagement= "yes"> 
    <cfset this.loginstorage = "session"> 
    <cfset this.sessionmanagement = "yes"> 
    <cfset this.sessiontimeout = CreateTimeSpan(0,0,40,0) /> 
    <cfset this.setClientCookies = "yes"> 
    <cfset this.scriptProtect = "all"> 
    <cfset this.setDomainCookies = true> 
    <cfset this.customTagPaths = ExpandPath('customtags')> 
    <cfset this.datasource = {name="myDB"}> 
    <cfset this.smtpServersettings = {structur as username,password and mail settings}> 

, но это значение должно быть через базу данных, вы можете показать мне пример, пожалуйста,

+0

Похоже, вам нужно будет отобразить cfc из базы данных. – placeybordeaux

+0

Что именно означает, что – cfsammer

+0

Можете ли вы создать cfc с программой, которая может читать из базы данных? – placeybordeaux

ответ

1

Да, вы должны быть в состоянии установить значение переменной this.smtpServersettings из запроса базы данных. И для чего это стоит, я думаю, что настройка была доступна с ColdFusion 9.

Все, что вам нужно сделать, это что-то вроде следующего.

  1. Выполнить запрос для получения значений из базы данных
  2. Создать новую структуру
  3. Назначьте три переменные в эту структуру; сервера, имя пользователя и пароль
  4. Присвоить переменной this.smtpServersettings к вашей новой структуре

Конечно вам нужно будет добавить код, чтобы сделать что-то, если/когда запрос к базе данных не удается.

Update после того, как вопрос был обновлен

Просто сделать что-то вроде следующего (псевдо-код):

<cfcomponent hint="File for the Website" output="false"> 
    <cfsetting showdebugoutput="no"> 
    <cfset this.name = "myProject1"> 
    <cfset this.applicationTimeout = createTimeSpan(2,0,0,0)> 
    <cfset this.clientmanagement= "yes"> 
    <cfset this.loginstorage = "session"> 
    <cfset this.sessionmanagement = "yes"> 
    <cfset this.sessiontimeout = CreateTimeSpan(0,0,40,0) /> 
    <cfset this.setClientCookies = "yes"> 
    <cfset this.scriptProtect = "all"> 
    <cfset this.setDomainCookies = true> 
    <cfset this.customTagPaths = ExpandPath('customtags')> 
    <cfset this.datasource = {name="myDB"}> 

    <!--- run your query here ---> 
    <!--- check your query and do something appropriate if/when it fails ---> 
    <cfset this.MyStructure = StructNew()> 
    <cfset this.MyStructure.server = this.MyQuery.ServerNameVariable> 
    <cfset this.MyStructure.username = this.MyQuery.UserNameVariable> 
    <cfset this.MyStructure.password = this.MyQuery.PasswordVariable> 

    <cfset this.smtpServersettings = this.MyStructure> 

Вы также должны знать, что делать это таким образом будет работать этот запрос на каждый страница запрос. Убедитесь, что он работает быстро.

+0

oh, могу ли я, но я имел, что 'this.smtpServersettings' определен в моем' ', я обновлю свой вопрос, пожалуйста, проверьте – cfsammer

+0

. Команда 'this.smtpServersettings' будет работать только тогда, когда она определена в файле Application.cfc. –

+0

, но запрос не находится в области запроса, почему он будет запускаться каждый раз, – cfsammer

Смежные вопросы