限制唯一收件人:和抄送:域名的数量

限制唯一收件人:和抄送:域名的数量

我需要退回通过 Postfix 服务器发送的邮件,因为这些邮件的收件人和抄送字段中包含太多唯一域。有没有一种简单的方法可以用 Postfix 完成此操作?(我是 Postfix 新手,通常使用 sendmail)。

添加/编辑

To/CC: [email protected], [email protected], [email protected],
[email protected], [email protected], [email protected],
[email protected], [email protected], [email protected],
[email protected], [email protected]

应该反弹给用户。

To/CC: [email protected], [email protected], [email protected],
[email protected], [email protected], [email protected],
[email protected], [email protected], [email protected],
[email protected], [email protected], [email protected]

應該通過。

答案1

没有简单的方法可以做到这一点。在 Postfix 中,没有机制可以在接受或拒绝收件人之前对其进行统计。必须记住,Postfix 是一个邮件服务器,并且只有有限的内容检查可能性。

为此,您可以添加队列前过滤器(自己编写)或研究策略服务的可能性(自己编写)。最简单的方法是策略服务,可以使用简单的 Perl 脚本或您喜欢的任何脚本来实现。可以在 Postfix 上找到带有示例 Perl 实现的完整文档文档。还有其他使用相同接口的实现,但不能满足您的特殊情况。其中一个是策略权重

如果您熟悉编写 SpamAssassin 规则,您可以尝试添加一个规则并使用 amavisd-new 作为队列前过滤器。

但正如我所说,对于您的情况没有内置解决方案。您的问题的其他答案只是全局限制,在这里没有帮助。

答案2

使用 smtpd_recipient_overshoot_limit(和 smtpd_recipient_limit)

   smtpd_recipient_overshoot_limit (1000)
          The number of recipients that a remote SMTP  client
          can  send  in  excess  of  the limit specified with
          $smtpd_recipient_limit,  before  the  Postfix  SMTP
          server  increments  the per-session error count for
          each excess recipient.

答案3

查看:

smtpd_client_recipient_rate_limit(默认值:0)

无论 Postfix 是否实际接受这些收件人,每个时间单位允许任何客户端向此服务发送的最大收件人地址数。时间单位由 anvil_rate_time_unit 配置参数指定。默认情况下,客户端每个时间单位可以发送 Postfix 可以接受的收件人地址数。

要禁用此功能,请指定限制为 0。

smtpd_client_message_rate_limit(默认值:0)

无论 Postfix 是否实际接受这些消息,每个时间单位允许任何客户端向此服务发出的最大消息传递请求数。时间单位由 anvil_rate_time_unit 配置参数指定。默认情况下,客户端每个时间单位可以发送与 Postfix 可以接受的一样多的消息传递请求。要禁用此功能,请指定限制为 0。

作为postconf 手册页建议。

相关内容