Сложно найти баланс между ложными срабатывания на спамм и спамом 🙁
Создаём файл
[cc lang=”bash”]
touch /etc/postfix/whitelist
[/cc]
Добавляем в него записи, можно конкретный ящик, можно все ящики домена, можно домен с под доменами.
[cc lang=”bash”]
user@examlpe.com OK
@examlpe.com OK
.example.ru OK
[/cc]
Теперь преобразим наш файл whitelist в индексированную базу данных, выполнив команду:
[cc lang=”bash”]
postmap /etc/postfix/whitelist
[/cc]
Теперь смотрим каком типом БД пользуется наш postfix
[cc lang=”bash”]
postconf | grep database_type
[/cc]
Возможные варианты ответа hash, btree или dbm
В зависимости от этого в секцию
[cc lang=”bash”]
smtpd_sender_restrictions
[/cc]
Добавляем строку
[cc lang=”bash”]
check_sender_access hash:/etc/postfix/whitelist
[/cc]
Вот как это выглядит у меня (не забываем про запятые после переменных) (вместо hash пишем свой тип БД)
[cc lang=”bash”]
smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/whitelist,
permit_sasl_authenticated,
permit_mynetworks,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit
[/cc]
Хотелось бы добавить, что это не совсем “белый лист”, он также легко превращается в “blacklist”, путём добавления хостов или IP в файл whitelist, только со значением reject:
@mail.ru reject
@yandex.ru reject
Таким образом не будет приниматься почта с адресов mail.ru и соответственно yandex.ru
Ну и естественно после обновления файла whitelist необходимо
postmap /etc/postfix/whitelist
кроме OK и REJECT есть еще масса вариантов ответов. man access
тип файла бд надо задавать ДО создания (postmap blah-blah), иначе создается тип по умолчанию (параметр default_database_type). подробности в man postmap
У меня не блокировались отправители даже если в файле стоит например:
mail.ru reject
yandex.ru reject
185.143.223.164 reject
пропускаются все адреса и OK и REJECT
Заменил в конце на REJECT принимает почту по OK не принимает где REJECT
Вот мой рабочий кусочек конфига
#################################################################
smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/access,
permit_sasl_authenticated,
permit_mynetworks,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject