Coldfusion CFMAIL和sendgrid

Coldfusion CFMAIL和sendgrid,coldfusion,sendgrid,cfmail,Coldfusion,Sendgrid,Cfmail,我在同一台服务器上托管了两个客户端,它们都通过sendgrid.com发送电子邮件(都有自己的帐户) 我正在看sendgrid上的报告,注意到“客户端1”的类别显示在“客户端2”的报告中 我花了很长时间在sendgrid的电话上,他们告诉我,“客户端1”的3000封电子邮件中有一小部分显示是通过“客户端2”的认证用户发送的 在我的脚本中,我使用coldfusion cfmail,并在标记中指定该客户端的SMTP地址、用户名和密码 一种可能的理论考虑到管理员邮件下的“维护与邮件服务器的连接”复选框

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

我正在看sendgrid上的报告,注意到“客户端1”的类别显示在“客户端2”的报告中

我花了很长时间在sendgrid的电话上,他们告诉我,“客户端1”的3000封电子邮件中有一小部分显示是通过“客户端2”的认证用户发送的

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

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

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

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


如果我取消选中“保持与邮件服务器的连接”复选框。。。资源的缺点是什么?我的客户整天都在发送时事通讯和事务性电子邮件,每个客户大约有10万封。

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

以下是引用页面中的文本

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

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

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

<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中指定的服务器值"属性,则CFMail将正常运行。

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

我可能有办法尝试。如果我创建了cname ali正如我在sendgrid.mydomain.com的一个域中更改我的代码中的服务器地址一样,我希望coldfusion认为它是一个不同的服务器,并为该域打开一个单独的连接,这样邮件就不会混淆。谢谢,我正在运行CF9,但我没有意识到这一点。大多数时候,我在administrator(我的本地服务器)中使用默认的邮件服务器SMTP服务器,但在本例中,我有两个不同的站点使用远程SMTP服务器(恰好是同一个服务器,但用户名和密码不同)。似乎当coldfusion保持该服务器的连接打开时,它不会检查身份验证信息是否已更改,并继续使用相同的登录会话,因为它是相同的服务器URL。值得一提的是,我正在运行CF9,但也没有意识到这一点。似乎值得一试。如果您确实尝试过的话请发回您的结果。因为这只允许您指定服务器、用户名和密码,我不确定如何维护连接设置(或任何其他管理员设置)将发挥作用。当您对查询使用cfmail时,coldfusion会生成一组传出邮件并将其放入假脱机文件夹中。然后,coldfusion邮件假脱机程序会拾取并检查每条邮件。如果未定义特殊邮件服务器,则会通过默认邮件服务器传递。如果指定备用邮件服务器,它会创建到它的连接。如果您保持“保持连接”,则不必为每条消息登录1次选中administrator中的复选框,它将通过连接发送多条消息。但是,在我的情况下,我使用了一台具有多个用户名和…密码的服务器。它没有识别出用户名和密码与进行身份验证的用户名和密码不同,而是忽略用户名和密码并继续发送。我有两个不同的cli我在使用sendgrid的服务器上托管的NT,在正常工作时间内,它们完全有可能同时批量发送电子邮件,并且两个会话相互交叉。我感谢您的反馈。我在下面找到的DNS解决方案是针对“bug”的明确工作我想我在CF9中找到了。从CF11,更新7开始,这应该是固定的。