body_checks примеры использования

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

Примеры использования `body_checks` в Postfix:

1. Блокировка сообщений с определенными словами или фразами:

/выиграл сумму в тысячи долларов/ REJECT Подозрительное сообщение содержит выигрыш

Это правило блокирует любое сообщение, содержащее фразу "выиграл сумму в тысячи долларов" и отклоняет его с сообщением "Подозрительное сообщение содержит выигрыш".

2. Перенаправление сообщений с вложенными файлами на альтернативный адрес:

/multipart\/mixed/ REDIRECT alternative@example.com

Это правило перенаправляет любое сообщение, содержащее вложенные файлы (multipart/mixed), на адрес alternative@example.com.

3. Блокировка сообщений с определенным типом содержимого:

/Content-Type:.*image\/.*/ DISCARD

Это правило блокирует любое сообщение с типом содержимого, соответствующим изображениям (например, image/jpeg, image/png) и отбрасывает его.

4. Изменение заголовка сообщения:

/Subject:.*urgent.*/ REPLACE Subject: [URGENT] $1

Это правило изменяет тему сообщения, добавляя к ней [URGENT], если в теме содержится слово "urgent".

5. Блокировка сообщений с определенным шаблоном URL:

/https?:\/\/(www\.)?example\.com/ REJECT Ссылки на сайт example.com запрещены

Это правило блокирует любое сообщение, содержащее ссылку на сайт example.com, и отклоняет его с сообщением "Ссылки на сайт example.com запрещены".

6. Перенаправление пустых писем (не работает пример у меня):

/^$/ REDIRECT any_email@example.com

Правило /^$/ соответствует пустому телу письма. Будут перенаправляться все письма с пустым телом на адрес any_email@example.com.

Это лишь некоторые примеры того, как можно использовать body_checks в Postfix для фильтрации и обработки сообщений на основе содержимого их тела. Убедитесь, что ваши правила соответствуют вашим требованиям безопасности и политикам, а также тестируйте их перед внедрением в производственной среде

Читайте также: Postfix контроль содержимого письма, Карты Postfix

Полный пример создания фильтра body_checks

Для того чтобы отправить пустые письма на определенный email-адрес при помощи body_checks, вам нужно использовать инструменты, поддерживаемые Postfix, такие как sendmail или postmap.

Вот пример того, как вы можете это сделать:

1. Создайте файл, содержащий правило для `body_checks`. Допустим, вы хотите отправить пустые письма на адрес example@example.com. Создайте текстовый файл, например `body_checks`, и добавьте следующую строку:

/^$/ FILTER sendmail:example@example.com

Это правило говорит Postfix, что если тело письма пустое (`^$` соответствует пустой строке), то нужно отправить письмо на адрес example@example.com с помощью `sendmail`.

2. После того как вы создали файл `body_checks`, выполните следующую команду, чтобы создать базу данных Postfix:

postmap /path/to/body_checks

Это создаст файл body_checks.db, который используется Postfix.

3. После того как вы создали базу данных, добавьте следующую строку в ваш файл `main.cf` конфигурации Postfix:

body_checks = regexp:/path/to/body_checks

Здесь /path/to/body_checks - это путь к вашему файлу `body_checks`.

4. Перезапустите службу Postfix, чтобы применить изменения:

systemctl restart postfix

Теперь Postfix будет отправлять пустые письма на указанный адрес email в соответствии с вашими правилами body_checks. Убедитесь, что правила настроены в соответствии с вашими требованиями безопасности и политиками.