当使用 Postfix 时,Port 587
通过取消注释中的一行来打开master.cf
。
submission inet n - n - - smtpd
我是通过阅读各种网站的帖子和评论才知道这一点的。然而,我在官方网站上没有看到关于这一点的提及Postfix 配置参数页面。这非常令人沮丧。
官方文档中哪里提到取消注释提交参数master.cf
?我觉得我错过了很多重要信息。
答案1
这是官方记录的在单个主机上管理多个 Postfix 实例,但尽管它很常见,但它被描述为众多可能性中的一个案例(重点是我的):
为什么要有多个 Postfix 实例
Postfix 是一个通用邮件系统,可以配置为满足各种需求。Postfix 应用程序的示例包括:
- 为 shell 用户和系统进程提交本地邮件。
- 来自互联网的传入(MX 主机)电子邮件。
- 企业网络的出站邮件中继。
- 针对漫游用户的经过身份验证的提交。
- 内容过滤邮件之前/之后。
单个 Postfix 配置可以提供许多或所有这些服务,但可能需要复杂的设置相互作用,例如
master.cf
选项覆盖main.cf
设置。在本文档中,我们认为多个 Postfix 实例可能是配置多功能 Postfix 系统的更简单的方法。
这Postfix 配置参数页面没有告诉任何这些内容,因为这超出了它的范围:它仅列出了您可以在中使用的可能参数main.cf
,但没有告诉如何用覆盖它们master.cf
。
本质上,“取消注释该行”及其下面的-o
(覆盖命名main.cf
配置参数)参数是关于启动另一个 Postfix 实例成分,smtpd
使用不同的设置:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (no) (never) (100)
# ==========================================================================
smtp inet n - y - - smtpd
#submission inet n - y - - smtpd
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=encrypt
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
当前活动的行是另一个 smtpd 实例,该实例正在使用设置监听smtp
端口,而以 开头的行将创建另一个实例,监听25
main.cf
submission
提交端口587
。用 指定的设置-o
将覆盖 中的设置main.cf
,从而可以添加 SASL 身份验证、强制加密等,而这些在两个 MTA 之间的正常 SMTP(即传入邮件)上是不需要的。
换句话说,service
描述了端口和Postfix 组件。您甚至可以在其中command
使用端口号或端口号:ip:port
# service type private unpriv chroot wakeup maxproc command + args
# ==========================================================================
587 inet n - y - - smtpd
127.0.0.1:10026 inet n - y - - smtpd