背景:
OK。数据库的问题已经解决了。网站可以打开了。发了logbk,走人呗。可惜,发送失败。看来服务器里的sendmail又挂了。
1. 查看下服务器的25端口
>telnet localhost 25
连不上。Sendmail确实挂了。
2. 启动sendmail,
root@vtnpi:/etc/mail# /etc/init.d/sendmail start
Starting Mail Transport Agent: sendmail.
root@vtnpi:/etc/mail# /etc/init.d/sendmail status
MTA: is not running
QUE: Same as MTA
3. 启动失败。怎么回事????连个失败的提示都没有
4. 到sendmail文件夹里。
>cd /etc/mail/
5. 重新m4一下
>root@vtnpi:/var/log# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
cannot open `/usr/share/sendmail/cf/m4/cf.m4′
失败
搜一下,说是sendmail_cf 没装,奇怪了,那以前是怎么成功的。
通过sendmail.mc可以看到版本是8.13.8,重新去网站下一个sendmail_cf,有依赖,安装失败,则强制安装:
>rpm -ivh .....i386.rpm –force –nodeps
6. 继续m4。继续失败
cannot open `/usr/share/sendmail/cf/m4/cf.m4′
发现是本路径与安装的软件路径不一致。
进入sendmail.mc,修改路径。
7. 继续m4。继续失败
提示没有文件ostype/debian.m4 debian.m4
安装的sendmail.cf 内有各种版本的m4文件,但没有debian。复制个其他版本的m4文件,命名为debian.m4。
8. 继续m4。成功。
9. 启动sendmail。失败。
看来问题不是源文件的问题。
10. 老老实实的看log去。
查看sendmail的log
root@vtnpi:/var/log# vi mail.err
Dec 2 15:15:18 vtnpi exim[31191]: 2012-12-02 15:15:18 exim 4.63 daemon started: pid=31191, -q10m, listening for SMTP on port 25 (IPv4)
Dec 2 15:15:18 vtnpi exim[31191]: 2012-12-02 15:15:18 Cannot open main log file "/var/log/exim4/mainlog": Permission denied: euid=115 egid=122
Dec 2 15:15:18 vtnpi exim[31191]: exim: could not open panic log - aborting: see message(s) above
提示,没有权限打开/var/log/exim4/mainlog。其实这个文件并不存在,新建一个。修改权限755。但仍然,失败。
>chmod -R u+rw /var/log/exim4
>chown -R Debian-exim /var/log/exim4
11. 继续启动sendmail。Status仍然失败。
12.查看mail.err文件,没有错误信息。查看上步生成的mainlog文件,有提示
root@vtnpi:/var/log/exim4# vi mainlog
2012-12-02 15:17:51 exim 4.63 daemon started: pid=31561, -q10m, listening for SMTP on port 25 (IPv4)
2012-12-02 15:17:51 Start queue run: pid=31562
2012-12-02 15:17:51 End queue run: pid=31562
2012-12-02 15:18:34 socket bind() to port 25 for address (any IPv4) failed: Address already in use: waiting 30s before trying again (9 more tries)
2012-12-02 15:19:04 socket bind() to port 25 for address (any IPv4) failed: Address already in use: waiting 30s before trying again (8 more tries
Log显示25端口,已经占用了。查看一下
>telnet localhost 25
成功。
到网站上发送logbk。邮件发送成功。
12. 擦,原来虽然status提示失败,但其实是已经成功了。坑爹呢!!!!!!!!!
!!!!!!!!!!!为什么需要作怎么多改动才能修改错误,以前怎么好好的!!!!!!!!!!!!!!!!!!
!!!!!我应该直接去看log的,我觉得这些软件在失败的时候,应该给出保存的log路径,谁TM知道,你把log存哪去了。我都现上网查的!!!