使用ColdFusion加载页面时发送的自动电子邮件

时间:2010-02-09 20:56:26

标签: email coldfusion

我正在使用ColdFusion,我需要在页面加载时自动发送电子邮件。我正在使用它作为网站所有者的通知,以便他们知道何时检查数据库是否有新条目。

在提交用于收集数据的表单后,会加载确认页面。加载此页面时,我需要发送电子邮件。

2 个答案:

答案 0 :(得分:7)

以下是我使用ColdFusion发送电子邮件的方式

<cfmail to="to@address.com" from="DO-NOT-REPLY@address.com (From Name)" subject="Email Subject">
    <cfoutput>
Hello,

Here is the body of the email.

kthxbai
    </cfoutput>
</cfmail>

答案 1 :(得分:1)

您使用的是什么版本的CF?如果是MX6或更高版本,请检查Application.cfc组件。 (如果你没有,请为站点创建一个。)Application组件有一个名为“onRequestStart”的方法(一个cffunction),它在加载页面后立即运行。将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>

或者那样。

也许,不是每个确认页面都发送一封电子邮件,而是每天晚上都会安排一份预定的电子邮件,并附上日常活动摘要?这取决于您希望获得多少活动。