Sendmail:向同一私有 IP 网络上的主机发送电子邮件,无需 DNS 记录

Sendmail:向同一私有 IP 网络上的主机发送电子邮件,无需 DNS 记录

我正在尝试弄清楚如何设置 sendmail 以允许在两台机器之间发送邮件。就我而言,我这样做了。

  • 安装 sendmail
  • 注释掉 sendmail 仅为 localhost 提供服务的那一行
  • 将两台机器添加到彼此的 hosts 文件中
127.0.0.1 localhost
127.0.1.1 debian
192.168.x.x kilo

kilo主机地址也一样debian。接下来我需要配置什么才能允许这两个主机交换电子邮件。我尝试了网上看到的所有方法,但都无法正常工作。如果我尝试发送任何电子邮件,都会收到此错误。

  The following addresses had permanent fatal errors <romeo@debian> [reason: 550 Host unknown] 
  Transcript of session follows   550 5.1.2 <romeo@debian>... Host unknown [Name server: debian: host not found] 

我知道我可能似乎遗漏了一些非常重要的东西,但我无论如何也想不通配置。非常感谢任何帮助!

答案1

看起来您的 /etc/hosts 文件尚未解析。

在 sendmail.mc 中:

define(`confHOSTS_FILE', `/etc/hosts')dnl

重建它应该会导致 sendmail.cf

O HostsFile=/etc/hosts

重新启动后主机名应该有效。

检查 DNS 没有条目:

$ host debian
Host debian not found: 3(NXDOMAIN)

测试

sendmail -bv user@debian

预期输出:

$ sendmail -bv user@debian
deliverable: mailer esmtp, host debian, user user@debian

答案2

Sendmail:向同一私有 IP 网络上的主机发送电子邮件,无需 DNS 记录

Sendmail 不喜欢没有域名部分的主机名。
对于 sendmail,请在您的/etc/hosts主机名中使用带有域名部分的名称,例如

192.168.0.2 kilo.example.net kilo

PS 有些互联网网站提供免费的 DNS(子)域名。

相关内容