配置 sendmail 以独占使用一个出站 MTA

Cha*_*tin 1 sendmail

我有一个 sendmail 问题,而且我不是一个 sendmail 专家——我可以使用一些帮助。

我的问题是我有一个系统或多或少是一个“设备”——它不打算有一个管理员。因此,它需要能够通过发送电子邮件来“打电话回家”。由于我们已经配置了它,这工作正常——使用 sendmail,它通过查找 MX 记录找到适当的中继,一切正常。

但是,现在出于安全考虑,我们希望将其限制为仅使用一个中继,例如relay.corp.example.com. 如果用户将其配置为使用,例如,fubar.example.com邮件发送应该失败或被推迟。

我认为通过使用包含的/etc/mail/server.switch文件配置 sendmail

hosts   files
Run Code Online (Sandbox Code Playgroud)

没有dns,我会得到那种效果。这不起作用——相反,如果它收到的邮件发送到foo@example.com,它会尝试直接与 对话example.com,并忽略配置的服务器。

有任何想法吗?

更新

好的,我实验性地将两个方案联系起来,它们似乎都有效。希望我能将它们标记为正确。

Ale*_*lex 6

您是否使用 m4 来构建您的sendmail.cf? 如果是这样,您应该添加

define(`SMART_HOST',`relay.corp.example.com')
Run Code Online (Sandbox Code Playgroud)

到您的sendmail.mc并重新生成您的sendmail.cf. 看起来像添加

DSrelay.corp.example.com
Run Code Online (Sandbox Code Playgroud)

正确的sendmail.cf意志也能奏效。