不使用cfmail发送电子邮件

时间:2012-10-11 16:01:22

标签: coldfusion cfmail

我想知道是否有人在使用cfmail标签发送ColdFusion和 not 的电子邮件方面有经验。我问,因为我想使用第三方服务(PostMark)发送它们,但我不确定如何保留我真正喜欢cfmail的一些方面,例如分组查询等

我可以通过一些工作来解决这个问题,但希望其他人这样做,所以我不必重新发明轮子。

在我的头顶,我知道它会涉及:

  1. 从查询中正确生成标题和收件人
  2. 从分组查询创建输出(可能使用cfsavecontent存储它?)
  3. 循环显示每个生成的电子邮件并将其发送到API
  4. 这听起来不错吗?

    更好的是后备,如果由于某种原因API无法使用,电子邮件仍然会被发送,但这次使用的是SMTP。

    显然,最好的方案是将所有这些包装在自定义标记中,这样我几乎唯一需要做的就是将cfmail更改为cf_mail_special或其他内容。

    唯一真正的困难来自:

    <cfmail from="info@example.org" to="#email#" subject="Your widget #foo#" query="Recipients">
    

    内置的ColdFusion标签可以在其中包含不会立即评估的井号,但它们将用于我的自定义标签。所以我想我必须重写它

    <cf_mail_special from="info@example.org" to="##email##" subject="Your widget ##foo##" query="Recipients">
    

    然后在其上运行Evaluate

2 个答案:

答案 0 :(得分:1)

您可以使用PostMark SMTP API

或者,您可以使用Java Library,可能隐藏在cf_mail_special标记后面?

答案 1 :(得分:0)

如果你想在没有cfmail和smtp的情况下发送邮件,你也可以查看sendgrid.com并查看他们的api。

此外,根据您运行的服务器类型,如果您使用的是Microsoft Windows服务器,例如2003,您可以使用cffile创建一个文件,将文本文件写入mailroot提取文件夹,它将绕过coldfusion的cfmail标签

我有一个类似的问题,CFMAIL让它锁定并让假脱机文件夹只是库存消息,直到重新启动java邮件服务器或重新启动cf服务。自cf6以来一直在处理它。

我写了一个计划例程,每隔10分钟检查我的假脱机文件夹。它查看文件夹中最旧的文件,如果文件是9分钟或更早,它会通过twillio向我的手机发送短信,或者我可以让它重新启动CF服务。

我可能每月或每月看一次,但它可以让我保持最佳状态。

我还没有找到解决此问题的真正方法。