Ключевые слова:postfix, mail, (найти похожие документы)
From: Косенков Игорь
Newsgroups: email
Date: Mon, 19 Jan 2004 14:31:37 +0000 (UTC)
Subject: Проверка наличия локального пользователя в системе на этапе соединения в Postfix
2 способ "Как заставить postfix проверять наличие локального пользователя в системе на этапе соединения"
-------------------
1 способ описан уже в "советах". Тест оригинала:
> В main.cf добавьте строчку:
> local_recipient_maps = $alias_maps unix:passwd.byname
> Без данной опции, postfix полностью принимает письмо для любого пользователя,
> даже для несуществующего, и лишь потом рассылает bounce сообщение.
> С local_recipient_maps ошибка генерируется сразу на этапе RCPT TO.
Приведенный выше способ имеет недостаток - почта принимается для всех пользователей
в системе - root,bin,daemon,halt,mail и т.д. А это трафик :-((
2 способ, предлагаемый мной, является расширением первого способа и позволяет
среди всех пользователей в системе отобрать тех, которым ДЕЙСТВИТЕЛЬНО нужна почта.
В main.cf:
local_recipient_maps = hash:/etc/postfix/users
Сюда же можно добавить $alias_maps.
В /etc/postfix/users заносим всех пользователей, для которых надо принимать почту:
user1 здесь_что-нибудь
user2 здесь_что-нибудь
"здесь_что-нибудь" - это символ или набор символов все равно каких - это нужно,
чтобы выполнилась команда postmap.
Затем postmap /etc/postfix/users. И, конечно, postfix reload.
Теперь почта будет приниматься только для пользователей из файла users,
для остальных будет генериться "User unknown in local recipient table"
на этапе соединения.
и еще надо добавить в smtpd_recipient_restrictions
параметр reject_unlisted_recipient
у меня выглядит вот так
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unlisted_recipient,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unknown_recipient_domain,
reject_unverified_recipient,
reject_non_fqdn_recipient