CentOS | 发送邮件
我在sendmail.mc文件中有以下行:
define(`SMART_HOST',`relay:[1.1.1.1]:[2.2.2.2]')
我的理解是,sendmail总是将smarthost设置为1.1.1.1,然后在必要时使用2.2.2.2进行故障转移。
我可以在这里指定第三个条目吗? 例如:
define(`SMART_HOST',`relay:[1.1.1.1]:[2.2.2.2]:[3.3.3.3]')
我可以在这里指定多less条目的限制?
如果你看看$#中继邮件定义,你会看到例如它被定义为:
Mrelay, P=[IPC], F=mDFMuXa8, S=EnvFromSMTP/HdrFromSMTP, R=MasqSMTP, E=\r\n, L=2040, T=DNS/RFC822/SMTP, A=TCP $h
所以你的问题有效地变成: 可以$ h是一个冒号分隔列表,如果是的话,有多less个主机? 蝙蝠书在第739页回复:
从V8 sendmail开始,$ h(可能由分析规则集0返回)可以是以冒号分隔的主机列表。 sendmail程序依次尝试从左到右依次连接:
A = TCP hostA:hostB:hostC
在这里,它首先尝试连接到hostA。 如果失败,则接下来尝试hostB,依此类推。 像往常一样,尝试主机意味着首先尝试其MXlogging,如果没有MXlogging,则尝试A或AAAAlogging。
对于实际的限制,必须查看sendmail源来validation是否存在。
A=TCP $h隐含的第二个参数被忽略,这是端口号(默认为25)。 您可以拥有一个主机列表和一个端口,但是我不确定您是否可以(或如何)为主机列表中的每个主机提供不同的侦听端口。 对于这样一个复杂和棘手的设置,我会写另一个交付代理,可以利用这一点。