Я использовал sendmail как MTA и SquirrelMail для веб-почты. Раньше у меня была следующая настройка, чтобы ограничить получателя в SquirrelMail. У SquirrelMail был плагин Recepientrestrictions, который может проверять два файла php.
Config.PHP
- содержит список различных доменов, на которые пользователь моего домена может отправлять письма (системные администраторы и директора компании могут отправлять письма кому угодно)recepientrestrictions.php
- содержит список конкретных адресов, таких как user@gmail.com или user1@yahoo.com, на которые пользователь моего домена может отправлять почту. (опять же системный администратор и директора компании могут отправлять письма кому угодно)Теперь проблема:
Я перехожу на Zentyal в качестве почтового сервера. Zentyal использует Postfix в фоновом режиме и Roundcube для веб-почты.
У меня есть частичное решение, которое является общим правилом для всех пользователей в моем домене (невозможно разделить системного администратора / директоров для отправки почты кому-либо в Интернете), которое ограничивает доставку почты в определенные домены, а именно:
Добавьте это в main.cf:
smtpd_recipient_restrictions = check_recipient_access
hash:/etc/postfix/recipient_domains, reject
/etc/postfix/recipient_domains
это файл белого списка:
mycompany.com OK
anotherdomain.com OK
Создать хеш-файл: postmap /etc/postfix/recipient_domains
Даже после этого он не блокирует почту, отправленную на anybody@gmail.com или anybody@yahoo.com . Также я хочу включить отправку почты на несколько почтовых идентификаторов провайдеров веб-почты с помощью файла белого списка. например
somebody@gmail.com OK
somebody@yahoo.com OK
foo@gmail.com OK
Вкратце схема такая:
Вопрос в том, как добиться этой схемы?
Чтобы проверить доступ пользователя к почтовому адресу, используйте smtpd_sender_login_maps
параметр:
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps
Используйте такие записи, как:
bob@example.com bob
alice@example.com alice
@bob.example.com bob
Второй столбец - это имя для входа (используется для аутентификации). Дополнительные сведения см. В документации. В этом примере используется хеш-таблица, но вы также можете использовать базу данных или все, что хотите.