На этот вопрос уже есть ответ:
Я использую sasldb2 (без saslauthd) для аутентификации SMTP с Postfix. Чтобы создать нового пользователя, я запускаю saslpasswd2 -u example.com mail
, который создает логин mail@example.com
. Однако, используя эти учетные данные, я могу успешно подключаться и отправлять их как other@example.com
. Как ограничить отправку пользователями только на свой почтовый адрес?
Что я пробовал:
postfix-pcre
. /etc/postfix/login_map
с содержимым /^(.*)$/ ${1}
.smtpd_sender_login_maps = pcre:/etc/postfix/login_map
. Почтовый сервер просто с радостью отправляет письма как другие имена пользователей. Ничего особенного в логах нет.
Как указано в другом вопросе, есть две важные части, которые необходимо добавить в master.cf
под портом представления
-o smtpd_client_restrictions = allow_sasl_authenticated, reject
Это гарантирует, что отправку будут отправлять только люди, прошедшие проверку подлинности sasl.
-o smtpd_sender_login_maps = hash: / etc / postfix / virtual
Это карта вашей пользовательской БД, измените ее на ту, которую вы используете
-o smtpd_sender_restrictions = reject_sender_login_mismatch
Это обеспечит адрес отправителя совпадает с идентификатором входа.