我发现 sendmail 有奇怪的行为,也许我遗漏了什么?
首先,sendmail 无法理解本地机器自己的主机名,尽管它位于 /etc/mail/local-host-names 中
它无论如何都会尝试打开到本地邮件的外部连接(但由于入站端口未打开而失败)。
其次,它看不到/不遵守.forward
root 文件,再次尝试联系自己的机器,却没有意识到它可以通过查看里面的别名来处理整个过程 /root/.forward
我通过添加.forward
root 的内容/etc/newaliases
并运行来 解决这个问题newaliases
但令我困扰的是,它不仅弄清楚了本地主机和根.forward
,而且现在有两个地方来维护地址。
这些是 sendmail 的限制吗?它被认为过时了吗?我应该改用 postfix 吗?
答案1
sendmail 无法理解本地机器自己的主机名
Q1:主机名是否在本地电子邮件域列表中?
以 root 身份执行:
echo '$=w' | /usr/sbin/sendmai
A1:是 =>
修改后是否重新启动(或 HUP)了 sendmail 守护进程etc/mail/local-host-names
?
这是必需的。
Sendmail 无法看到/遵守 root 的 .forward
出于安全原因强烈建议将 root 别名/etc/mail/aliases
为非特权用户。Sendmail 甚至不应该尝试处理 ~root/.forward 文件。您在处理非特权用户的 forward 文件时遇到问题吗?