使 /usr/lib/sendmail 在本地传递本地邮件(submit.cf 与 sendmail.cf)

使 /usr/lib/sendmail 在本地传递本地邮件(submit.cf 与 sendmail.cf)

更改 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 中与本地主机相关的条目(为方便查看,标签已压缩到单个空间)

http://pastebin.com/Tam8sz0F

[如果有人能将此内容和其他 URL 剪切/粘贴到此消息中,我将不胜感激;我的尝试失败了]

  • 以及 submit.cf 中与 localhost 相关的条目(也是制表符压缩的)

http://pastebin.com/SSgCE6z3

  • 两者之间的差异(diff submit.cf-chunk sendmail.cf-chunk):

http://pastebin.com/zReBBhhZ

  • 是的,我意识到两个文件中重复的“Cw”条目是没有意义的,但它不会损害 sendmail.cf,所以我还不担心它。

  • 我很想调整 submit.cf 的引用行以匹配 sendmail.cf 的引用行,但在做任何事情之前,我真的想了解发生了什么。*.cf 编辑的随机方法开始让我担心。

答案1

您可以使用 -Am 开关启动 sendmail,而根本不使用 submit.cf。或者您可以让 sendmail 守护进程监听其他端口,然后调整 submit.cf 以在该端口而不是端口 25 上发送邮件。

相关内容