我正在使用ColdFusion,我需要在页面加载时自动发送电子邮件。我正在使用它作为网站所有者的通知,以便他们知道何时检查数据库是否有新条目。
在提交用于收集数据的表单后,会加载确认页面。加载此页面时,我需要发送电子邮件。
答案 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>
或者那样。
也许,不是每个确认页面都发送一封电子邮件,而是每天晚上都会安排一份预定的电子邮件,并附上日常活动摘要?这取决于您希望获得多少活动。