Postfix 与 Sendmail 结合使用时出现的问题

Postfix 与 Sendmail 结合使用时出现的问题

我使用“apt-get install sendmail”安装了 sendmail,还使用 ​​Webmin 安装了 postfix。但 Postfix 无法启动,当我检查 /var/log/mail.err 时

*Jul 11 14:09:03 victoria postfix/master[6588]: fatal: bind 0.0.0.0 port 25: Address already in use
Jul 11 14:09:10 victoria postfix/master[6821]: fatal: bind 0.0.0.0 port 25: Address already in use
Jul 11 14:09:11 victoria postfix/master[6820]: fatal: daemon initialization failure
Jul 11 14:09:12 victoria postfix/postfix-script[6822]: fatal: mail system startup failed*

我的“netstat -tap”显示:

*root@victoria:/etc/init.d# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost:mysql         *:*                     LISTEN      2365/mysqld     
tcp        0      0 localhost:submission    *:*                     LISTEN      5639/sendmail: MTA:
tcp        0      0 *:webmin                *:*                     LISTEN      896/perl        
tcp        0      0 *:ssh                   *:*                     LISTEN      554/sshd        
tcp        0      0 localhost:smtp          *:*                     LISTEN      5639/sendmail: MTA:
tcp        0    384 192.241.205.208:ssh     175.139.222.195:45062   ESTABLISHED 29460/1         
tcp6       0      0 [::]:http               [::]:*                  LISTEN      773/apache2     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      554/sshd        
getnameinfo failed
getnameinfo failed
tcp6       0      1 [UNKNOWN]:http          [UNKNOWN]:60003         LAST_ACK    -*   

禁用 Sendmail 可以启动并运行 Postfix。但我认为 sendmail 和 postfix 应该一起工作?如何配置以将它们同时放在一个服务器上?

谢谢。

答案1

Postfix 是一个内置的 sendmail 替代品,它包含自己的 sendmail 二进制文件(参见本文末尾)。老实说,我很惊讶 apt 竟然允许你这样做,我以为它们是软件包冲突了。

无论如何,要修复:

sudo apt-get purge sendmail
sudo apt-get install --reinstall postfix
sudo /etc/init.d/postfix restart

证明我的系统上的 sendmail 由以下人员提供postfix

$ dpkg -S `which sendmail`
postfix: /usr/sbin/sendmail

如果仍然遇到问题,您可以按照以下方法找出哪个程序(以及哪个包)占用了端口 25:

$ sudo netstat -pel | grep smtp
tcp 0 0 *:smtp *:* LISTEN root 8487 2212/master

$ # Then we use the 2212 from that in the following to get the package:
$ dpkg -S "$(sudo ps ux | grep 2212 | awk '{print $NF}')"
postfix: /usr/lib/postfix/master

在我的情况下,这是后缀。在你的情况下,我希望看到其他东西。从轨道上核爆它。

答案2

对我来说,这个解决方案是 Ubuntu13 中 Oli 答案的一个变体:

错误:致命:绑定 0.0.0.0 端口 25:地址已被使用

Sendmail 清除不起作用:

软件包“sendmail”未安装,因此未删除

所以我尝试了:

service sendmail stop
sudo apt-get install --reinstall postfix

并且有效!

答案3

这解决了我同样的问题。

service sendmail stop
service postfix restart
service sendmail start

如图所示Postfix 启动错误端口 25:地址已被使用

相关内容