5

我在托管的同一台服务器上有 2 个客户端,它们都通过 sendgrid.com 发送电子邮件(都有自己的帐户)。

我正在查看有关 sendgrid 的报告,并注意到来自“客户 1”的类别出现在“客户 2”的报告中。

我在 sendgrid 的电话上花了很多时间,他们告诉我,“客户端 1”的一批 3000 封电子邮件中的 65 封电子邮件显示是通过“客户端 2”的经过身份验证的用户发送的。

在我的脚本中,我使用coldfusion cfmail 并将该客户端的SMTP 地址、用户名和密码指定到标签中。

一个可能的理论考虑了管理员邮件下的“维护与邮件服务器的连接”复选框。

“选中此复选框可保持与邮件服务器的连接处于打开状态,以便在发送邮件后重复使用(推荐)。”

如果两个客户端同时发送电子邮件(很有可能),coldfusion 邮件假脱机引擎会根据服务器/用户名和密码将它们分开,还是将它们全部发送到当前打开的邮件服务器?

如果我取消选中维护与邮件服务器的连接复选框......资源的缺点是什么?我的客户整天发送时事通讯和交易电子邮件,每个客户可能大约 10k。

4

2 回答 2

4

我不知道您正在运行什么版本的 ColdFusion,但在 ColdFusion 9 中添加了一个新功能,允许您在 Application.cfc 文件中指定 SMTP 服务器设置。假设您的 2 个站点有单独的 Application.cfc 文件,那么这可能对您有用。

这是对 ColdFusion 9 中新功能的参考

这是来自该引用页面的文本。

问题
我如何使用 ColdFusion 服务器中托管的应用程序的不同 SMTP 服务器设置来发送电子邮件。

解决方案
通过在 Application.cfc 文件中使用 ColdFusion 9 新的“smtpServersettings”功能,我们可以为应用程序指定不同的 SMTP 服务器设置。

详细说明
ColdFusion 9 在 Application.cfc 文件中添加了一个名为“smtpServersettings”的新属性。我们可以在 Application.cfc 中的 THIS 范围的“smtpServersettings”属性中指定 SMTP 服务器设置详细信息,该属性采用三个值,它们是服务器、用户名和密码作为结构。

<cfcomponent displayname="CF9ApplicationVariables" output="false">

   <cfset this.name   = "CF9ApplicationVariables" />
   <cfset this.smtpserversettings   = {
                          server="mailServerAddress",
                          username="userEamilID",
                          password="userPassword"
                          } />
</cfcomponent>

现在 CFMail 标记将使用服务器详细信息来发送邮件,如 Application.cfc 中的“smtpServersetting”中所述,它不会使用 ColdFusion 9 Administrator 中指定的服务器值。如果不使用“smtpServersetting”属性,那么 CFMail 将正常运行。

于 2012-11-21T13:17:30.690 回答
2

我最终修改了服务器中的 DNS 设置,添加了一个指向 smtp 地址的 cname,smtp.sendgrid.net。然后我更新了我的代码以使用新的服务器名称,这似乎分离了连接。

于 2012-11-21T14:01:18.457 回答