这感觉应该是之前已经问过,也许我使用了错误的语言,但经过2个小时的search,我无法弄清楚如何解决这个问题。
我在主邮件服务器closures的出站postfix电子邮件队列中有一条消息(日志中的“连接超时”),而postfix 从不尝试次要(或更低优先级的服务器)。
它反复尝试几天(当前configuration),然后最终反弹,没有提及辅助服务器。
我运行的是后缀2.8。
似乎可能与此有关的唯一选项是smtp_skip_quit_response和smtp_skip_5xx_greeting(我确定有更多,但不知道它是什么),但由于没有连接到服务器,没有响应代码,这些设置是正确的我认为(都设置是)。
我想要发生的是,如果连接到主要问题,它会尝试连接到辅助(这听起来很明显,我知道)。
另一项需要注意的是(失败的)主要的Aloggingparsing为几个IP地址(它是一个Alogging,而不是CNAME)。
日志看起来像这样(有很多重复删除):
Mar 2 02:00:04 postfix/qmgr[2672]: D78739817D8: from=<[email protected]>, size=24736, nrcpt=1 (queue active) Mar 2 02:02:34 postfix/smtp[18263]: D78739817D8: to=<[email protected]>, relay=none, delay=294106, delays=293955/0.02/151/0, dsn=4.4.1, status=deferred (connect to mx1.example.com[192.0.2.4]:25: Connection timed out) Mar 2 03:10:04 postfix/qmgr[2672]: D78739817D8: from=<[email protected]>, size=24736, nrcpt=1 (queue active) Mar 2 03:12:35 postfix/smtp[22822]: D78739817D8: to=<[email protected]>, relay=none, delay=298306, delays=298156/0/151/0, dsn=4.4.1, status=deferred (connect to mx1.example.com[192.0.2.161]:25: Connection timed out) Mar 2 04:20:04 postfix/qmgr[2672]: D78739817D8: from=<[email protected]>, size=24736, nrcpt=1 (queue active) Mar 2 04:22:05 postfix/smtp[28734]: D78739817D8: to=<[email protected]>, relay=none, delay=302477, delays=302356/0.01/121/0, dsn=4.4.1, status=deferred (connect to mx1.example.com[192.0.2.152]:25: Connection timed out) ... Mar 3 15:20:03 postfix/qmgr[16791]: D78739817D8: from=<[email protected]>, size=24736, nrcpt=1 (queue active) Mar 3 15:22:34 postfix/smtp[20853]: D78739817D8: to=<[email protected]>, relay=none, delay=428506, delays=428355/0/151/0, dsn=4.4.1, status=deferred (connect to mx1.example.com[192.0.2.167]:25: Connection timed out) Mar 3 16:30:03 postfix/qmgr[16791]: D78739817D8: from=<[email protected]>, size=24736, nrcpt=1 (queue active) Mar 3 16:31:04 postfix/smtp[30310]: D78739817D8: to=<[email protected]>, relay=none, delay=432615, delays=432555/0/60/0, dsn=4.4.1, status=deferred (connect to mx1.example.com[192.0.2.236]:25: Network is unreachable) Mar 3 16:31:04 postfix/qmgr[16791]: D78739817D8: from=<[email protected]>, status=expired, returned to sender Mar 3 16:31:04 postfix/bounce[30772]: D78739817D8: sender non-delivery notification: 3036F14E0002 Mar 3 16:31:04 postfix/qmgr[16791]: D78739817D8: removed
这让我看着正确的方向,在这个例子中的解决scheme是在main.cf
设置smtp_mx_address_limit = 20
。
为了澄清,域configuration是:
默认的smtp_mx_session_limit
值是5,你会注意到它与主要MXlogging的Alogging数相匹配,所以Postfix永远不会超越前5个IP。 把这个值设置为大于5的值在这个例子中会有所帮助,但是对于我们的configuration,我将把它放在一些更大的数目上,以帮助CDN的数量等等。
希望别人觉得这个有用,因为我无法在其他地方find它!
我想你可能会发现你已经遇到了postfix的一些内部限制,因为后缀列表上的Viktor说:
..with a static preference, Postfix may fail deliver mail to a reachable destination, just because enough IPv4 or enough IPv6 addresses are dead. Remember, Postfix tries a limited number of MX addresses per delivery.
可能的话,您也可能在过去的24小时内成功地将邮件发送到其中一台服务器,Postfix将caching成功的MXlogging。
我会说你有两个select,刷新队列postqueue -f
,这将强制postfix做另一个MX查找,或者为该域设置一个临时传输,使用辅助MXlogging作为传输example.com smtp:secondary.mx.servername
。