免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 21658 | 回复: 21
打印 上一主题 下一主题

(sendmail问题)hosts已设置,但无法解析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-12 19:40 |只看该作者 |倒序浏览
sendmail已经设置好,mail -v 测试sendmail正常,但是向外发送(abc@xxx.com)收不到邮件,查看/etc/log/maillog有如下记录:
Mar 12 17:42:13 host-a sendmail[27870]: l2C9gDut027870: from=root, size=72, class=0, nrcpts=1, msgid=<200703120942.l2C9gDut027870@localhost.localdomain>, relay=root@localhost
Mar 12 17:42:13 host-a sendmail[27872]: l2C9gDEJ027872: from=<root@localhost.localdomain>, size=377, class=0, nrcpts=1, msgid=<200703120942.l2C9gDut027870@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=host-a [127.0.0.1]
Mar 12 17:42:13 host-a sendmail[27874]: l2C9gDEJ027872: to=<abc@xxx.com>, ctladdr=<root@localhost.localdomain> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30377, relay=xxx.com., dsn=4.0.0, stat=Deferred: Name server: xxx.com.: host name lookup failure
Mar 12 17:42:13 host-a sendmail[27870]: l2C9gDut027870: to=abc@xxx.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30072, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (l2C9gDEJ027872 Message accepted for delivery)


在maillog日志中发现“host name lookup failure”记录,但是在/etc/hosts中已经做了静态解析:
[root@host-a var]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1      host-a  localhost.localdomain          localhost
xx.xx.xx.xx    xxx.com mail


疑惑的是用nslookup解析不出xxx.com,但是能telnet xxx.com 的25端口:
[root@host-a var]# nslookup mail
;; connection timed out; no servers could be reached
[root@host-a var]#
[root@host-a var]#  telnet xxx.com 25
Trying xx.xx.xx.xx...
Connected to mail (xx.xx.xx.xx).
Escape character is '^]'.
220 SMTP Proxy Server Ready



为什么telnet能进入25端口,而nslookup错误而且日志报解析错误?请各位高手指点是哪里出了问题?小弟实在弄不明白,谢谢!

[ 本帖最后由 wind_7th 于 2007-3-12 19:42 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-03-12 20:53 |只看该作者
1)不是所有程序都会使用 hosts 文件的,把你的 /etc/resolv.conf 贴出来。

2)sendmail 应该是不查 hosts 文件的,都是先查 MX 记录,没有再查 A 记录。

论坛徽章:
0
3 [报告]
发表于 2007-03-12 21:58 |只看该作者
谢谢楼上的dx!

这台机器没有配置/etc/resolv.conf文件,这台机器要求不能配置dns。

sendmail的解析应该如何检查和配置?MX记录和A记录在哪里可以查到?

操作系统版本:Red Hat Enterprise Linux ES release 3 (Taroon Update 3)

论坛徽章:
0
4 [报告]
发表于 2007-03-12 22:17 |只看该作者
你所说的应该是启用 DNS 服务吧?

resolv.conf 是 client 方面(sendmail 程序)用到的,并不需要在本机上开 DNS 服务

论坛徽章:
0
5 [报告]
发表于 2007-03-12 22:20 |只看该作者
resolv.conf原来有,内容为空,当时也出现同样的错误。后来我尝试把resolv.conf改名为了resolv.conf.bak,但是错误还是一样的。

不太清楚sendmail是在哪里进行域名解析的,对这个问题很是疑惑。

论坛徽章:
0
6 [报告]
发表于 2007-03-12 22:33 |只看该作者
内容为空自然不对(表示使用本地主机作为 name server),

你可以 gogle 一下 BIND 方面的基础信息,或者到我的 blog 上看一下,建议从第1章看起。

http://blog.chinaunix.net/u/12066/showart.php?id=74370 (DNS 和 E-mail)

论坛徽章:
0
7 [报告]
发表于 2007-03-13 11:00 |只看该作者
我想先解决这个问题再慢慢研究。我现在把resolv.conf文件删除了还是同样的问题,按理没有这个文件了就应该是用/etc/hosts解析的啊。

难道linux上的sendmail只能用dns解析地址?hpux上可以用hosts做解析的,只要不存在resolv.conf文件就行了。

望高手指点指点,谢谢!

论坛徽章:
0
8 [报告]
发表于 2007-03-13 11:18 |只看该作者
把 /etc/host.conf 的 order 改为 hosts, bind

论坛徽章:
0
9 [报告]
发表于 2007-03-13 11:31 |只看该作者
/etc/host.conf 原来就是
order hosts,bind

这个文件前面已经检查过了,还有哪里可能有问题?

论坛徽章:
0
10 [报告]
发表于 2007-03-13 11:33 |只看该作者
如果直接ping 该目的地呢?网络方面的呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP