我正在尝试在 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