LINUX 下sendmail 配置问题

情况:
-----------------------------------------------
1。linux 防火墙中允许SMTP
2。/etc/hosts.allow 中有行: all : localhost
      /etc/hosts.deny 中有行: all : all
3。/etc/host.conf 中配置如下:
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
-----------------------------------------------

使用:mail -s test my@email.com <mail.txt 命令往internet发一封邮件失败
在 /var/log/maillog 中发现错误:
---------------------------------------------------------------
Dec 29 10:36:58 rhelas3 sendmail[22236]: iBT2aw2l022236: from=root, size=55, class=0, nrcpts=1, msgid=< 200412290236.iBT2aw2l022236@localhost.localdomain>, relay=root@localhost
Dec 29 10:36:58 rhelas3 sendmail[22238]: iBT2awjn022238: tcpwrappers (rhelas3, 127.0.0.1) rejection
Dec 29 10:36:58 rhelas3 sendmail[22236]: iBT2aw2l022236: to=dk@zsnet.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30055, relay=[127.0.0.1] [127.0.0.1], dsn=5.0.0, stat=Service unavailable
Dec 29 10:36:58 rhelas3 sendmail[22236]: iBT2aw2l022236: iBT2aw2m022236: DSN: Service unavailable
Dec 29 10:36:58 rhelas3 sendmail[22236]: iBT2aw2m022236: to=root, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31079, relay=[127.0.0.1], dsn=5.0.0, stat=Service unavailable
Dec 29 10:36:58 rhelas3 sendmail[22236]: iBT2aw2m022236: iBT2aw2n022236: return to sender: Service unavailable
Dec 29 10:36:58 rhelas3 sendmail[22236]: iBT2aw2n022236: to=postmaster, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=32103, relay=[127.0.0.1], dsn=5.0.0, stat=Service unavailable
Dec 29 10:36:58 rhelas3 sendmail[22236]: iBT2aw2m022236: Losing ./qfiBT2aw2m022236: savemail panic
Dec 29 10:36:58 rhelas3 sendmail[22236]: iBT2aw2m022236: SYSERR(root): savemail: cannot save rejected email anywhere
---------------------------------------------------------------

究竟是什么问题呢? “Service unavailable”所指什么服务呢?

----------------------------------------
我認為是你的主機名稱 DNS 無法解析所造成
Sendmail 預設以 hostname 為發信主機名,但你的名稱不對
或是在 sendmail.cf 找你的機器名 ,ex:
Djmail.xxx.com
mail.xxx.com 需可被 DNS 解折並為這一台的 IP
----------------------------------------
修改主机名
vi /etc/sysconfig/network,修改HOSTNAME一行为HOSTNAME=主机名,然后运行命令" hostname 主机名"。无论你是否重启,
主机名修改成功了。
----------------------------------------
修改了主机名为服务器的域名后重试,还是无法发送。
>> 原来原因是因为 /etc/hosts.allow 和 /etc/hosts.deny 设置有问题。
>> 把 /etc/hosts.deny 中的 ALL:ALL 注释掉后,可以正常发送。


----------------------------------------
telent localhost 25可以,
LINUX默认情况SMTP仅绑定127.0.0.1,因此不能从网络访问,要打开SMTP,如下即可:
edit /etc/sendmail.cf
找到:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
添加:
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=你的IP, Name=MTA
保存!
----------------------------------------


问题就是在于 /etc/hosts.deny 设置了 ALL:ALL 之后,在 /etc/hosts.allow 中没有对sendmail充分的授权。
在 /etc/hosts.allow 中加入以下行:
 sendmail : hostname (主机名,不一定需要是域名)
 sendmail : hostip       (主机的ip地址)

这样就可以发送了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值