配置 SendMail SMART_HOST 选项来执行 MX 查找的正确方法是什么?

配置 SendMail SMART_HOST 选项来执行 MX 查找的正确方法是什么?

我认为这个问题与这个帖子但我觉得它们有足够的不同,值得写一篇单独的文章。

我目前已将 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

相关内容