我正在尝试弄清楚如何设置 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(子)域名。