Postfix 的多个实例抛出致命错误:未知服务:smtp/tcp

Postfix 的多个实例抛出致命错误:未知服务:smtp/tcp

我正在尝试在 FreeBSD 10.0-RELEASE 上配置多个 postfix-2.12 实例,如下所示自述文件

postmulti -e init
postmulti -I postfix-out -G mta -e create
...

这一切都有效,我可以启动和停止实例,一切看起来都很好。当我测试使用 telnet 在本地发送电子邮件时。 Postfix 记录以下fatal: unknown service: smtp/tcp错误。

master.cf 中的配置文件是普通的,没有 chroot。

 mynetworks = 127.0.0.1/8 192.168.5.0/24

如果我将 postfix 作为单个实例运行,则一切正常。因此 postfix/etc/services在作为单个实例运行时可以读取。

使用 postmulti 创建的假脱机目录看起来与 postfix 假脱机目录相同。

我已经为此苦苦思索太久了。有没有人在 FreeBSD 上实现了多个 postfix 实例或者可以给出一些建议?

答案1

为了获得最佳质量的答案,您需要发布 master.cf 的内容以及有关您的配置的更多详细信息。但是,看看我的配置例如:

=================================================== =======================
# 服务类型 private unpriv chrootwakeup maxproc command + args
#(是)(是)(是)(从不)(100)
# =================================================== =========================
smtp inet n - - - - smtpd

这里我们看到 smtp 监听器运行在 chroot 环境中。该 chroot 目录中应该有 /etc/services 的可用副本:

$ grep '^smtp' $(sudo postconf -h 队列目录)/etc/services
smtp 25/tcp 邮件

如果队列目录下有etc/services文件,但内容错误,或者该文件不存在,请重新检查postfix安装说明以确保其正确执行。

答案2

我也有同样的问题。我创建了 postfix 的第二个实例,我的 secondary-instance-master.cf 是

#smtp      inet  n       -       -       -       -       smtpd
ip.second.eth.card:smtp  inet  n       -       -       -       -       smtpd

相关内容