世界因你而精彩  
日历
<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
统计
  • 随笔 - 169
  • 文章 - 1
  • 评论 - 138
  • 引用 - 0

导航

常用链接

留言簿(9)

随笔分类(163)

随笔档案(154)

文章档案(1)

新闻档案(1)

相册

收藏夹(1)

个人杂杂

友情链接

自学考试

资料搜索

最新随笔

搜索

  •  

积分与排名

  • 积分 - 358366
  • 排名 - 153

最新评论

阅读排行榜

评论排行榜

 
默认情况下,RH的sendmail只允许外发email而允许接收外部来信(localhost当然可以了)。

要想能接收外来email,
首先更改sendmail.mc,找到:DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl更改为:DAEMON_OPTIONS(`Port=smtp,Addr=本机ip, Name=MTA')dnl然后,make -C /etc/mail重新编译sendmail。
/etc/mail/access文件是允许转发的网络地址,可将局域网的网络ip加进去,这样,局域网内的任何其他的主机都可以通过本机sendmail来中转,relay。修改完后makemap hash access.db < access即可。

Sendmail好像非常需要FQDN,类似aaa.bbb.com一类的完整域名。/etc/mail/local-host-name是sendmail需要的本地FQDN,必须的。另外,若没有DNS,/etc/hosts和/etc/sysconfig/network两个文件必须修改,添加正确的主机名称,FQDN,别名等。hosts文件内的127那行,最好不要改动。那是localhost的初始定义。

这样子修改好以后,可以防止日志中出现什么553,554的错误信息--那是因为A机和B机的sendmail拥有相同的localhost主机名称。所以,FQDN,一定要设好。哪怕不用。这一切完了之后,重启sendmail。小测一下:telnet localhost 25开头如果出现aaa.bbb.com一类的FQDN,那就可以了。

Sendmail: localhost.localdomain 的問題

如果你也是用 Linux + Sendmail 架 mail server, 當你 telnet your.host.name 25 時,
若出現 localhost.localdomain, 表示 Linux Server 的 hostname 設定有誤. 這個問題並不大,
因為它還是可以正常的收 / 發 e-mail. 但是, 若寄給同樣是 localhost.localdomain 的 mail server
時, 問題就來了.

症狀:

   1. 收到退回的信件, 內容是:
      553 5.3.5 對方的hostname. config error: mail loops back to me (MX problem?)
      554 5.3.5 Local configuration error    

   2. 本機 /var/log/maillog 記錄出現:
      SYSERR(root): 對方的hostname. config error: mail loops back to me (MX problem?)       

   3. 對方的 /var/log/maillog 記錄出現:

      本機IP did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

原因:

    由於本機主機名稱是 localhost.localdomain, 信件發出後, 若對方 Sendmail 主機名稱也是 localhost.localdomain 時, 信件會回到本機郵件伺服器上, 無法寄到對方郵箱中.


解決方法:

   1. 知道自己正確的 hostname 為何 (通常是: 主機名稱.網域名稱, 如: myserver.abc.idv.tw, 其中 myserver 是主機名稱; abc.idv.tw 是網域名稱)

   2. 執行 hostname 指令, 查看 hostname 是否正確

   3. cat /etc/sysconfig/network, 查看 hostname 是否設定正確, 若不正確請修改後, 執行:

      hostname 正確的hostname

       
  4. cat /etc/hosts 檢查 127.0.0.1 那一行是否只有 localhost 與
localhost.localdomain 這兩種敘述. 若否, 請清除不相干的敘述, 並確定是否有如: 192.168.1.1
myserver.abc.idv 描述正確 hostname 的文字列. 若無, 請新增空白行加入該敘述.

   5. /etc/rc.d/init.d/sendmail restart 重新啟動 Sendmail

   6. telnet localhost 25 檢查是否出現正確的 hostname

posted on 2008-12-11 12:48 张秀兰 阅读(6444) 评论(0)  编辑  收藏 所属分类: 资料查找

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 
 
Copyright © 张秀兰 Powered by: 博客园 模板提供:沪江博客