Внесение в белый список некоторых доменов и некоторых пользователей определенных доменов в качестве пунктов назначения для Zentyal/Postfix
Я использую 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
- Перезапустите сервис postfix.
Даже после этого он не блокирует почту, отправленную на anybody@gmail.com или anybody@yahoo.com. Также я хочу разрешить отправку почты нескольким почтовым идентификаторам на провайдерах веб-почты с помощью файла белого списка. например
somebody@gmail.com OK
somebody@yahoo.com OK
foo@gmail.com OK
Короче схема такая:
- Group1 отправляет почту кому угодно на планете.
- Group2 отправляет почту через два белых списка: 1) домен, 2) конкретные пользователи веб-почты.
Вопрос в том, как добиться этой схемы?
1 ответ
Чтобы проверить доступ пользователя к почтовому адресу, используйте 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
Второй столбец - это имя для входа (используется для аутентификации). Для получения дополнительной информации посмотрите в документах. В этом примере используется хеш-таблица, но вы также можете использовать базу данных или все, что вы хотите использовать.