更改 sendmail 设置后,大多数功能都正常工作了,但 sendmail 错误地将电子邮件发送到“foo@localhost”的端口 25,而不是在本地发送。如何修复?:
更改之前一切都运行正常,但我怀疑 sendmail.cf 正在执行 submit.cf 没有执行的工作。
当我发送电子邮件“foo@localhost”时,我希望 /usr/lib/sendmail 查看 /etc/mail/aliases (或 aliases.db),并向 foo 的目标进行本地传送,该目标可以是本地用户、管道、邮件列表等。
我不希望 /usr/lib/sendmail 将 foo@localhost 电子邮件传递到端口 25。我的端口 25 是一个隧道:一旦电子邮件到达端口 25,就不可能进行本地投递。
我的 /etc/hosts 有“127.0.0.1 localhost.localdomain localhost”,所以我认为 sendmail 将“localhost”解析为“localhost.localdomain”,但不确定。
以下是 sendmail.cf 中与本地主机相关的条目(为方便查看,标签已压缩到单个空间)
[如果有人能将此内容和其他 URL 剪切/粘贴到此消息中,我将不胜感激;我的尝试失败了]
- 以及 submit.cf 中与 localhost 相关的条目(也是制表符压缩的)
- 两者之间的差异(diff submit.cf-chunk sendmail.cf-chunk):
是的,我意识到两个文件中重复的“Cw”条目是没有意义的,但它不会损害 sendmail.cf,所以我还不担心它。
我很想调整 submit.cf 的引用行以匹配 sendmail.cf 的引用行,但在做任何事情之前,我真的想了解发生了什么。*.cf 编辑的随机方法开始让我担心。
答案1
您可以使用 -Am 开关启动 sendmail,而根本不使用 submit.cf。或者您可以让 sendmail 守护进程监听其他端口,然后调整 submit.cf 以在该端口而不是端口 25 上发送邮件。