POSTFIX 无法启动提示:绑定 0.0.0.0 端口 25:地址已在使用中,我该怎么办?

POSTFIX 无法启动提示:绑定 0.0.0.0 端口 25:地址已在使用中,我该怎么办?

我按照这里的教程进行操作: https://help.ubuntu.com/community/PostfixCompleteVirtualMailSystemHowto#Create_a_vmail_user 在新的 ubuntu 安装上设置 Postfix,但它无法启动,每当我尝试使用 postfix start 启动它时,都会说:致命:邮件系统启动失败

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

和致命错误:绑定 0.0.0.0 端口 25:地址已在使用中,而且 smtp 正在端口 25 上运行,我检查过了。请问我该怎么办?我需要启动并运行此邮件服务器

答案1

查看哪个端口打开了。在 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

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

您可以终止或重新启动该进程(或者决定,呵呵,它已经在运行......)。

答案2

通常,Postfix 在安装时会自动禁用 Sendmail。Sendmail 也是一个邮件服务器,因此不能有两个 Sendmail 在同一个端口上处理您的电子邮件。

由于 Postfix 自动提供了sendmail兼容程序,您的系统和用户(例如mailPHP 函数)可以继续调用它,但您不再需要 sendmail MTA,因为 Postfix 现在将完成其工作。

我建议您卸载 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)
...

如果你看到类似库postfix,则说明您安装了正确的 sendmail 程序。

答案3

您还可以运行

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

然后使用“ps”检查那里正在运行什么。

相关内容