带有回调函数的Coldfusion cfmail
我正在使用cfmail标签向用户发送电子邮件。我需要完成的另一件事是在将记录发送给用户后删除它们。是否有任何解决方案可用于观察cfmail任务是否已完成。例如,通过回调指示任务已完成。对于电子邮件,无法保证电子邮件已送达 如果没有错误地执行cfmail标记,cfml spool目录中将有一条记录。服务器将邮件移交给SMTP服务器后,coldfusion将从spool目录中删除邮件 注意:如果您的服务器速度很快,您将永远不会在spool文件夹中看到邮件 您可以尝试构建一个检查邮件日志的解决方案,但即使这样,也不能保证邮件已经送达带有回调函数的Coldfusion cfmail,coldfusion,callback,cfmail,Coldfusion,Callback,Cfmail,我正在使用cfmail标签向用户发送电子邮件。我需要完成的另一件事是在将记录发送给用户后删除它们。是否有任何解决方案可用于观察cfmail任务是否已完成。例如,通过回调指示任务已完成。对于电子邮件,无法保证电子邮件已送达 如果没有错误地执行cfmail标记,cfml spool目录中将有一条记录。服务器将邮件移交给SMTP服务器后,coldfusion将从spool目录中删除邮件 注意:如果您的服务器速度很快,您将永远不会在spool文件夹中看到邮件 您可以尝试构建一个检查邮件日志的解决方案,但
在大多数情况下,知道cfmail已执行就足够了。我不确定是否理解您要删除的内容。您正在循环查询电子邮件数据吗?是的,我正在循环查询电子邮件数据。在此之后,我将尝试删除发送电子邮件的计划数据。要验证邮件是否已发送,您可以阅读您的邮件发送日志。非常感谢。我将尝试一下。寻找一种只运行一个删除查询的方法,而不是将其放入循环中。我必须使用带有超时的cflock来控制发生的竞争条件。问题解决了,谢谢大家。
<cfquery name="emailStuff">
SELECT * FROM mytable
</cfquery>
<cfloop query="emailStuff">
<cfmail>
cfmail contents/properties
</cfmail>
<cfquery>
DELETE FROM mytable WHERE ID=emailStuff.ID
</cfquery>
</cfloop>
<cfloop query="emailStuff">
<cfmail>
cfmail contents/properties
</cfmail>
</cfloop>
<cfquery>
DELETE FROM mytable
WHERE ID IN (<cfqueryparam list="yes" value="#emailStuff.ID#" />)
</cfquery>