Назад | Перейти на главную страницу

Ограничить количество уникальных доменов To: и CC:

Мне нужно отклонять сообщения, которые проходят через мой сервер Postfix, у которых слишком много уникальных доменов в полях To и CC. Есть ли простой способ сделать это с помощью Postfix? (Я новичок в Postfix, обычно пользователь sendmail).

Добавлено / отредактировано

To/CC: User1@exampleA.com, User2@exampleB.com, User3@exampleC.com,
User4@exampleD.com, User5@exampleE.com, User6@exampleF.com,
User7@exampleG.com, User8@exampleH.com, User9@exampleI.com,
User10@exampleJ.com, User11@exampleK.com

Должен подпрыгнуть к пользователю.

To/CC: User1@exampleA.com, User2@exampleA.com, User3@exampleA.com,
User4@exampleA.com, User5@exampleA.com, User6@exampleA.com,
User7@exampleA.com, User8@exampleA.com, User9@exampleA.com,
User10@exampleA.com, User11@exampleA.com, User12@exampleA.com

Должен пройти.

Нет простого способа сделать это. В Postfix нет механизма, с помощью которого вы могли бы вести статистику по получателям перед тем, как принять или отклонить их. Следует иметь в виду, что Postfix является почтовым сервером и имеет лишь ограниченные возможности проверки содержимого.

Для этого вы можете добавить milters перед очередью (написать свой собственный) или изучить возможности службы политик (написать свой собственный). Самый простой способ - это служба политик, которая может быть реализована с помощью простого сценария Perl или того, что вы предпочитаете. Всю документацию с примером реализации Perl можно найти в Postfix. документация. Существуют и другие реализации, использующие тот же интерфейс, но они не делают того, что вы хотите в вашем особом случае. Один политический вес.

Если вы знакомы с написанием правил SpamAssassin, вы можете попробовать добавить их и использовать amavisd-new в качестве фильтра до очереди.

Но, как я уже сказал, для вашего случая нет встроенного решения. Остальные ответы на ваш вопрос - это только глобальные ограничения, которые здесь не помогают.

Используйте 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.

Проверьте:

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 предлагает.