4

我遇到了一个问题,我的邮件服务器每 5 分钟只接受 100 个与服务器的连接。我当前的代码循环访问我的数据库,为列表中的每个人调用 cfmail。我想问题是我每次使用 cfmail 时都会打开一个新连接?

<CFLOOP QUERY="Customer" >

    <!---send mail to Admin ----->
     <cfmail to = "#cstEmail#"
      from = "#FORM.fromAddressEmail#"
      subject = "#FORM.subjectEmail#"
      server = "#var.mailserver#"
      port= "#var.mailport#"
      username="#var.mailuser#"
      password="#var.mailpass#"
      failto="#var.failEmail#
      type="html"         
       >

我遇到的是一次只发送了 100 封邮件,其余的都发送到了 cf 的未投递文件夹。我会将它们发送到线轴,然后再有 100 个通过..

现在,我在旧版本的 cf 中读到了 cf 管理员中有一个“维护连接”复选框 - 我正在运行 cf9,但看不到此选项。

使用 cfmail 的查询属性会强制 cfmail 只连接到邮件服务器一次以发送所有电子邮件吗?

<cfmail query="Customer"
from = "#FORM.fromAddressEmail#"
to = "#cstEmail#"
subject = "#FORM.subjectEmail#">

我什至不知道如何在不发送几百封电子邮件的情况下进行测试。如果这是解决问题的可行解决方案,有什么想法吗?

谢谢你的帮助!比斯科蒂

4

2 回答 2

1

我最终通过使用计划任务每​​ 5 分钟将文件从 Undelivr 目录移回 Spool 目录而妥协。我对这个解决方案并不感到兴奋,但它确实有效。

感谢 Russ 的 Respooler 扩展。http://cfrespooler.riaforge.org/

于 2012-12-08T07:53:52.260 回答
0

通过使用上面的代码在 CFMAIL 中调用 QUERY,我只成功地加快了客户端进程。邮件服务器在第 100 次连接后仍然拒绝邮件 - 导致我确定与我的第一个示例中一样简单地循环 CFMAIL 相比,这种方法没有服务器端的好处。我似乎唯一的答案是在 cf 环境的企业版中运行代码,该环境启用了“维护连接”功能。

于 2012-12-08T07:02:58.940 回答