Механизм 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
Для того чтобы отправить пустые письма на определенный 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. Убедитесь, что правила настроены в соответствии с вашими требованиями безопасности и политиками.