421 并发连接 - 从帮助台到 Rackspace 服务器的速率限制

421 并发连接 - 从帮助台到 Rackspace 服务器的速率限制

我们的 WHM Linux 服务器上运行着 Kayako 帮助台。

当收到客户的电子邮件时,Kayako 会向邮箱托管在 Rackspace 邮件服务器上的众多员工发送通知。

我注意到 WHM 的 Exim 队列消息查看器中有一个很大的队列 - 当查看 Exim 日志时,我可以看到很多行2012-10-13 20:06:56 1TN72s-0007Cw-1l SMTP error from remote mail server after initial connection: host mx2.emailsrvr.com [173.203.2.32]: 421 Too many concurrent connections from this client.

一封客户电子邮件会导致大约 5 封电子邮件发送到 Rackspace 服务器,平均每小时大约 60 封电子邮件 - 虽然数量不是很多,但足以导致短时间发送的邮件被拒绝。

在这种情况下,如果我们可以限制发送到 rackspace 服务器的连接数,那么我们就可以遵守它们的限制。对于我们的要求,如果我们每 10 秒左右发送 1 封电子邮件,那就没问题了。

发送到所有其他服务器的消息都应以正常速率传输,只有 mx1.emailsrvr.com 和 mx2.emailsrvr.com 应应用此连接限制策略。

这可能吗?

答案1

问题不在于您发送电子邮件的数量或速度,而在于默认情况下 exim 可以打开到同一目标主机的多个并行连接。接收服务器的管理员已决定他们不希望从同一 ip 地址建立多个连接,因为这很容易导致单个发送者在其端占用过多资源。

您需要serialize_hosts在 exim 配置中使用 smtp 路由器上的选项,因为这将限制 exim 不会为 serialize_hosts 选项中列出的任何主机打开多个连接。如下所示:

begin transports

# This transport is used for delivering messages over SMTP connections.

remote_smtp:
  driver = smtp
  serialize_hosts = mx1.emailsrvr.com : mx2.emailsrvr.com

相关内容