wxin 发表于 2015-11-25 10:23:52

sendmail 维护记录

  背景:
  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.m4debian.m4
  安装的sendmail.cf内有各种版本的m4文件,但没有debian。复制个其他版本的m4文件,命名为debian.m4。
  8. 继续m4。成功。
  9. 启动sendmail。失败。
  看来问题不是源文件的问题。
  10. 老老实实的看log去。
  查看sendmail的log
  root@vtnpi:/var/log# vi mail.err
  Dec2 15:15:18 vtnpi exim: 2012-12-02 15:15:18 exim 4.63 daemon started: pid=31191, -q10m, listening for SMTP on port 25 (IPv4)
  Dec2 15:15:18 vtnpi exim: 2012-12-02 15:15:18 Cannot open main log file "/var/log/exim4/mainlog": Permission denied: euid=115 egid=122
  Dec2 15:15:18 vtnpi exim: 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存哪去了。我都现上网查的!!!
页: [1]
查看完整版本: sendmail 维护记录