如何绕过单个域的 smtpd_recipient_limit?

如何绕过单个域的 smtpd_recipient_limit?

有人可以帮助我绕过 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

相关内容