POSTFIX不会启动说:绑定0.0.0.0端口25:地址已经在使用,我该怎么办?

我跟着教程在这里: https ://help.ubuntu.com/community/PfixfixCompleteVirtualMailSystemHowto#Create_a_vmail_user在新的Ubuntu安装上设置Postfix,但它不会启动,每当我尝试启动它后缀开始说:致命:邮件系统启动失败

这里是我的错误日志:SYSERR(root):collect:无法写入./dfr2IIHHJB029721(bfcommit,uid = 0,gid = 125):没有这样的文件或目录

致命的:绑定0.0.0.0端口25:地址已经在使用smtp运行在端口25,我检查。 请问我该怎么办? 我需要得到这个邮件服务器和运行

看看有什么端口打开。 在Linux中:

$ sudo netstat -lnp |grep :25 

你会看到像这样的东西:

 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1624/master tcp6 0 0 :::25 :::* LISTEN 1624/master 

在这种情况下,1624是进程ID(PID)。 所以:

 $ ps aux |grep 1624 

根1624 0.0 0.0 25160 1636? Ss Jul17 0:00 / usr / lib / postfix / master

您可以杀死或重新启动该进程(或者决定,呃,它已经在运行….)。

通常情况下,Postfix在安装时会自动禁用Sendmail。 Sendmail也是一个邮件服务器,所以不能有两个人在同一个端口上处理你的邮件。

由于Postfix自动提供了一个sendmail兼容性程序,你的系统和你的用户(例如mail PHP函数)可以继续调用它,但是你不需要sendmail MTA了,因为Postfix现在可以完成它的工作。

我build议您卸载Sendmail MTA以避免出现问题:

 apt-get remove sendmail 

如果你想确定你有哪个sendmail命令(Postfix或sendmail),你可以使用下面的命令:

 user@linux:~# ldd /usr/sbin/sendmail ... libpostfix-global.so.1 => /usr/lib/libpostfix-global.so.1 (0x00007f890e1b1000) libpostfix-util.so.1 => /usr/lib/libpostfix-util.so.1 (0x00007f890df7b000) ... 

如果你看到类似libpostfix的东西,那么你已经安装了正确的sendmail程序。

你也可以运行

 lsof -Pni | grep LIST | grep ":25" 

而不是使用'ps'来检查那里运行的是什么。