2010-02-09 3 views
0

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

После отправки формы, используемой для сбора данных, загружается страница с подтверждением. Когда эта страница загружается, мне нужно отправить электронное письмо.

ответ

7

Вот как я послал письмо с помощью ColdFusion

<cfmail to="[email protected]" from="[email protected] (From Name)" subject="Email Subject"> 
    <cfoutput> 
Hello, 

Here is the body of the email. 

kthxbai 
    </cfoutput> 
</cfmail> 
+3

Совершенное использование kthxbai –

1

Какую версию CF вы используете? Если это MX6 или выше, проверьте свой компонент Application.cfc. (И если у вас его нет, сделайте один для сайта.) В компоненте Application есть метод (cffunction), называемый «onRequestStart», который запускается, как только загружается страница. Поместите тэг cfmail в тело этой функции. Примечание: Поместите тег cfmail внутри тега cftry. Таким образом, даже если что-то пойдет не так с вашей электронной почтой, страница будет отображаться для пользователя. В этом случае вы можете записать ошибку в файл журнала для вашего использования. Вы можете сделать что-то вроде этого:

<cffunction name="onRequestStart" returnType="boolean"> 
    <cftry> 
     <cfmail to="siteowner" from="sitemonitor" subject="user accessed page"> 
      ...body of email... 
     </cfmail> 
     <cfcatch> 
      <cfsavecontent variable="errormsg"> 
       <cfdump var="#cfcatch#"> 
      </cfsavecontent> 
      <cflog log="Application" type="error" text="Send mail on page load failed with error message: #errormsg#"> 
     </cfcatch> 
    </cftry> 
</cffunction> 

Посмотрите, работает ли что-то подобное.

Позже: Итак, я просто понял, что вы просите отправить электронное письмо только на определенных загрузках страницы. Вы можете обернуть целое ... в блок «if»:

<cfif getFileFromPath(getBaseTemplatePath()) is "myConfirmationPage.cfm"> 
    <cftry>.... 
    </cftry> 
</cfif> 

или тому подобное.

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

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