有人可以帮助我绕过 postfix 中单个域的 smtpd_recipient_limit 到 100 或 150 吗?
除这些域之外,所有其他域的 smtpd_recipient_limit 都应为 50。
答案1
这是一个全局设置,会影响单条消息的收件人数量。
smtpd_recipient_limit
(默认:1000
)Postfix SMTP 服务器每个消息传递请求接受的最大收件人数量。
因此,无法通过域来设置此功能,因为它会影响正在使用的整个 SMTPD。
你没有说明你的意思对于单个域; 因为这是收件人的域是没有意义的,因为同一封邮件可能并且很可能有跨多个域的收件人,所以我假设您希望对每个发件人域使用不同的策略。但是,MAIL FROM
仅基于 SMTP 命令中的域来设置它是不可能实现的。
你可以有分离提交设置如果您使用多个端口进行提交,则适用于不同的客户端。这正是提交的安排方式,因为您可以让 SMTPD 同时监听端口25
(用于其他 MTA)、587
(提交)和465
(smtps)。
以下是几行的示例master.conf
(删除了与问题无关的提交设置):
# Submission on standard port 587
submission inet n - - - - smtpd
-o smtpd_recipient_limit=50
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
# Submission for users allowed to add more recipients (port 5870)
5870 inet n - - - - smtpd
-o smtpd_recipient_limit=150
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_sender_login_maps=hash:/etc/postfix/more_recipients
在此示例中,/etc/postfix/more_recipients
设置在smtpd_sender_login_maps
指定在端口 上使用这个附加提交时允许使用的 SALS 认证用户和地址5870
,就像/etc/postfix/virtual
在正常提交上将地址与用户绑定一样,当reject_sender_login_mismatch
用来。
同样,你可以使用smtpd_sender_restrictions
= check_sender_access type:table
。
但是,这些是相当高级的设置,如果您是 Postfix 新手,可能很难将它们全部组合在一起。我建议简单地为所有用户提高此设置,因为它已经比默认值低得多1000
。