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
arrow
arrow
    全站熱搜

    安德森 發表在 痞客邦 留言(0) 人氣()