CentOS 5.x / SendMail 8.14.x
我有一个 SendMail 服务器,它将所有出站邮件发送到云中的下游智能主机:
define(`SMART_HOST',`relay:[example.blah.com]')dnl
example.blah.com 有多个 A 记录和 MTA 可用于接受连接。
如果需要同时发送多封电子邮件,sendmail 是否会与下游智能主机建立多个连接?我做了一些健全性检查,netstat 建议 sendmail 在繁忙时尝试使用多个同时连接。
如果是这样,那么控制这种情况的默认规则是什么?sendmail 将与下游源建立多少个连接?当它建立这些连接时,它会使用之前解析的相同 A 记录吗?或者这些其他连接是否可能转到其他 A 记录/主机?
答案1
默认情况下sendmail 使用后台 DeliveryMode - sendmail 在接受任何消息后分叉另一个进程进行消息传递。这意味着每次“首次传递尝试”都会有单独的 SMTP 连接,除非发送或接收服务器达到某些限制。Sendmail 尝试在处理排队消息期间重用 SMTP 连接。巨大的更改/微调它的选项数量,例如 SingleThreadDelivery、不同的 DeliveryMode、昂贵的邮件程序(不立即传送)、队列组和持久队列运行器。