强制 sendmail 在发送邮件时忽略本地域(FreeBSD)

强制 sendmail 在发送邮件时忽略本地域(FreeBSD)

我使用 PHP 发送邮件。一切正常,直到我将邮件发送到 /etc/rc.conf >> hostname="box.example.com" 中的域 (@example.com)。

我猜 sendmail 会先捕获该域的邮件(即使我在 rc.conf 中使用了其子域),然后再将其发送到世界各地。那么,我该如何让 sendmail 忽略除 localhost 之外的本地域?

答案1

这是一个经常出现的问题,但这是我第一次在 FreeBSD 上看到它。请参阅这个答案关于如何编辑 freebsd.mc 文件。由于上述链接回答了 Debian 的问题,因此您需要在 FreeBSD 中执行以下操作:

# cd /etc/mail
# cp freebsd.mc box.example.com.mc
# vi box.example.mc (and follow the instructions of the link above)
# make all install restart

您现在可以测试该解决方案。

由于您写的/etc/mail/local-host-names不存在,请使用 以测试模式运行 sendmail,sendmail -bt然后在>提示符下键入$=w。这将列出 sendmail 认为是本地的所有名称。您将在此列表中看到 box.example.com。

答案2

找出哪个文件包含带有 的本地主机名。从以此命名的文件中grep -i '^fw' sendmail.cf删除。example.com

相关内容