sendmail 维护记录

来源:互联网 发布:tpshop多用户商城源码 编辑:程序博客网 时间:2024/06/05 19:19

背景:

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去。

查看sendmaillog

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. 继续启动sendmailStatus仍然失败。

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存哪去了。我都现上网查的!!!