我认为这个问题与这个帖子但我觉得它们有足够的不同,值得写一篇单独的文章。
我目前已将 Sendmail 服务器配置为向下游 VIP 发送邮件。在我的 sendmail.mc 文件中,我有:
define(`SMART_HOST',`relay:[vip.example.local]')dnl
我的理解是,由于值被括在括号中,因此 sendmail 将执行 DNS 查询并发送到返回的 A 记录。
我想让 sendmail 查询 MX 记录。 适当的语法是什么?
根据之前的帖子,我怀疑应该是:
define(`SMART_HOST',`vip.example.local')dnl
但我不确定是否RELAY:
需要参考。
答案1
define(`SMART_HOST',`relay:[vip.example.local]')dnl
上面的 sendmail 配置中的方括号首先禁用查找MX
记录,sendmail 直接查找A
/AAAA
记录。
relay:
prefix 选择 sendmail 用来向 prefix 后面列出的主机发送邮件的邮件程序。relay
无论如何,默认使用基于 SMTP 的邮件程序 => 通常relay:
可以跳过 prefix。保留它只会在某些“不寻常”的情况下产生影响。
[技术细节:sendmail 忽略在 中列出的“裸”中继$=w
,有些人修改relay
邮件程序以使用它在本地主机上向非标准端口发送邮件]
因此您应该使用vip.example.local
(无方括号,无邮件程序)来让 sendmail 查找MX
记录vip.example.local
并在存在的情况下使用它们。
define(`SMART_HOST',`vip.example.local')dnl