我正在尝试在 Centos 5 上配置 sendmail,以便所有邮件都通过另一个 SMTP 服务器。在本例中,它恰好是 Exchange 服务器。我已使用以下行编辑了 sendmail.mc 文件:
define(`SMART_HOST', `10.1.1.30')dnl
但是当我尝试发送电子邮件时,出现以下错误:
Nov 2 14:02:00 COMPUTERNAME sendmail[1370]: oA2K1xht001368: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:00, mailer=relay, pri=120355, relay=10.1.1.30, dsn=5.1.2, stat=Host unknown (Name server: 10.1.1.30: host not found)
我从发送邮件的邮箱可以访问邮箱 10.1.1.30。也就是说,我可以 ping 10.1.1.30 并获得良好的响应。所以我不明白为什么 sendmail 找不到主机。有什么想法吗?谢谢。
答案1
Sendmail 似乎正在对“10.1.1.30”进行名称查找。将 sendmail.mc 更改为指向主机名。如果主机名不在 DNS 中,您可以将其放入 /etc/hosts 中。
答案2
否则,您可以将 IP 地址放在方括号中:[10.1.1.30]
。
答案3
修改sendmail.mc后是否生成了新的sendmail.cf文件?
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
另外,不要忘记重新启动服务。
# service sendmail restart