/ 中存储网

分析故障解决bugzilla在Linux系统不能发送邮件的问题

2014-12-24 15:36:48 来源:中存储网

分析故障解决bugzilla在Linux系统不能发送邮件的问题

重装了一次bugzilla,装完之后发现无法发送邮件,发现网上也有人遇到类似的情况,现做一个总结。

现象一:
Feb  1 04:02:03 localhost sendmail[9764]: g0VK23Ua009764: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay
, pri=31246, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
检查sendmail是否已经启动,方法一:查看端口25是否已经在监听,netstat -an 。方法二:telnet localhost 25 。结果发现没有启动,用 service sendmail start 启动sendmail。

sendmail启动之后,出现了现象二:
Apr  9 10:33:34 localhost sendmail[2597]: g392XYEt002597: <***@***.com>... User unknown
Apr  9 10:33:34 localhost sendmail[2596]: g392XYkR002596: to=***@***.com, ctladdr=bugzilla (503/504), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30483, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown

原因原来是在 /etc/mail/local-host-names 里添加了一行类似:126.com,这个文件的作用是,把里面所列出的域名当作是本地域名来解析,不会往外发邮件,所以没有这个用户名。去掉这行之后出现了现象三:
Apr  9 10:52:29 localhost sendmail[2763]: g392qTeT002761: g392qTeT002763: DSN: Service unavailable

ping了一下邮箱服务器的域名,发现ping不同,然后就添加了一个DNS (vi /etc/resolv.conf),重新启动sendmail之后(service sendmail restart),发送邮件成功。
但由于我的机器不是公网ip,126邮箱有限制,无法网126邮箱发送邮件,163邮箱和公司的内部邮箱没有问题。