Внесение в белый список некоторых доменов и некоторых пользователей определенных доменов в качестве пунктов назначения для Zentyal/Postfix

Я использую sendmail в качестве MTA и SquirrelMail для веб-почты. Я имел обыкновение иметь следующую настройку, чтобы ограничить получателя в SquirrelMail. SquirrelMail имеет плагин под названием Recepientrestrictions, который может проверять два файла php

  1. Config.PHP - содержит список различных доменов, на которые пользователь моего домена может отправлять письма (системные администраторы и директора компании могут отправлять письма кому угодно)
  2. recepientrestrictions.php - содержит список конкретных адресов, таких как user@gmail.com или user1@yahoo.com, на которые пользователь моего домена может отправлять почту (опять же, системный администратор и директора компании могут отправлять письма кому угодно)

Теперь проблема заключается в следующем:

Я перехожу на Zentyal в качестве почтового сервера. Zentyal использует Postfix в фоновом режиме и Roundcube для веб-почты.

У меня есть частичное решение, которое является общим правилом для всех пользователей в моем домене (не удалось отделить системного администратора / директоров для отправки почты кому-либо в Интернете), которое ограничивает доставку почты на определенные домены, а именно следующее.

  1. Добавьте это в main.cf:

    smtpd_recipient_restrictions = check_recipient_access 
                hash:/etc/postfix/recipient_domains, reject 
    
  2. /etc/postfix/recipient_domains это файл белого списка:

    mycompany.com OK 
    anotherdomain.com OK 
    
  3. Создать хеш-файл: postmap /etc/postfix/recipient_domains

  4. Перезапустите сервис 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

Второй столбец - это имя для входа (используется для аутентификации). Для получения дополнительной информации посмотрите в документах. В этом примере используется хеш-таблица, но вы также можете использовать базу данных или все, что вы хотите использовать.

Другие вопросы по тегам