sendmail---stat=Service unavailable

今天尝试着想要在linux终端上直接用mail命令(e.g: echo "hello" | mail -s "hello test" xxx@139.com)给我139.com的邮箱发邮件时,139.com邮箱根本收不到,但是总是可以在/var/mail/root下面找到我刚才发的邮件,其实这是因为发送失败了,从而被sendmail回退了邮件回来。
要想看失败原因, check /var/log/maillog:
Aug  1 18:41:40 localhost sendmail[5279]: o71Afeih005279: from=root, size=220, class=0, nrcpts=1, msgid=<201008011041.o71Afeih005279@localhost.localdomain>, relay=root@localhost
Aug  1 18:41:42 localhost sendmail[5281]: o71Afekr005281: from=<root@localhost.localdomain>, size=480, class=0, nrcpts=1, msgid=<201008011041.o71Afeih005279@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Aug  1 18:41:42 localhost sendmail[5279]: o71Afeih005279: to=favorite214@139.com, ctladdr=root (0/0), delay=00:00:02, xdelay=00:00:02, mailer=relay, pri=30220, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o71Afekr005281 Message accepted for delivery)
Aug  1 18:41:44 localhost sendmail[5283]: o71Afekr005281: to=<favorite214@139.com>, ctladdr=<root@localhost.localdomain> (0/0), delay=00:00:03, xdelay=00:00:02, mailer=esmtp, pri=120480, relay=mx.139.com. [221.176.6.96], dsn=5.0.0, stat=Service unavailable
Aug  1 18:41:44 localhost sendmail[5283]: o71Afekr005281: o71Afikr005283: DSN: Service unavailable
Aug  1 18:41:44 localhost sendmail[5283]: o71Afikr005283: to=<root@localhost.localdomain>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31717, dsn=2.0.0, stat=Sent

后来在google上找了很多,最后终于找到原因了:
I fixed the problem by changing the hostname of my server. Apparently "localhost.localdomain" will get rejected automatically by a lot of mail servers. As soon as I changed my hostname to "extra.idahostatesman.com" (a domain that is hosted on the server), everything just worked and I had no more problems sending e-mail.

可以用hostanme 命令临时修改主机名,hostname aa.com; 还是失败了

Aug  1 19:11:33 localhost sendmail[5579]: o71BBVB9005579: from=root, size=221, class=0, nrcpts=1, msgid=<201008011111.o71BBVB9005579@aa.com>, relay=root@localhost
Aug  1 19:11:35 localhost sendmail[5580]: o71BBX3b005580: from=<root@aa.com>, size=436, class=0, nrcpts=1, msgid=<201008011111.o71BBVB9005579@aa.com>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Aug  1 19:11:35 localhost sendmail[5579]: o71BBVB9005579: to=favorite214@139.com, ctladdr=root (0/0), delay=00:00:04, xdelay=00:00:02, mailer=relay, pri=30221, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o71BBX3b005580 Message accepted for delivery)
Aug  1 19:11:39 localhost sendmail[5582]: o71BBX3b005580: to=<favorite214@139.com>, delay=00:00:04, xdelay=00:00:04, mailer=esmtp, pri=120436, relay=mx.139.com. [221.176.6.96], dsn=4.0.0, stat=Deferred: 450 Requested action not taken:cmmx01, AS0QrJA75wiRVlVMWIvlAA--.3152S2, dynamic, reputation, zen.spamhaus.org, please try again

切记:修改完hostname以后需要重启sendmail 服务,重启服务后,一切ok. 
posted on 2012-04-16 12:42  草原和大树  阅读(7359)  评论(0编辑  收藏  举报