# [DEPRECATED] Per-user outbound restrictions !!! warning "DEPRECATED" __WARNING: THIS DOCUMENT IS *DEPRECATED*, PLEASE use per-user white/blacklists instead, [doc here](./manage.iredapd.html).__ ## SQL backends iRedAPD (a simple Postfix policy server developed by iRedMail team) provides plugin `sql_user_restrictions` for per-user inbound/outbound restrictions. Please make sure plugin `sql_user_restrictions` is enabled in iRedAPD config file `/opt/iredapd/settings.py` like below: ```python # Part of file: /opt/iredapd/settings.py plugins = [..., 'sql_user_restrictions'] ``` Restarting iRedAPD service is required if you modified `/opt/iredapd/settings.py`. You can store allowed or disallowed recipient in 2 SQL columns in `vmail` database: * `mailbox.rejectedrecipients`: disallow user to send email to listed recipients. * `mailbox.allowedrecipients`: allow user to send email to listed recipients. Valid sender/recipient formats are: * `@.`: all addresses (user, domain, sub-domain). Be careful: There's a dot after `@`. * `@domain.com`: entire domain. * `@.domain.com`: entire domain and all its sub-domains. Be careful: There's a dot after `@`. * `user@domain.com`: single email address * empty value means no restriction. NOTE: Multiple recipients must be separated by comma (`,`). Sample usage: * allow local mail user `user@example.com` to send to domain (`example.com`) and `gmail.com`, but not others. ```sql sql> USE vmail; sql> UPDATE mailbox SET rejectedrecipients='@.', allowedrecipients='@example.com,@gmail.com' WHERE username='user@example.com'; ``` ## OpenLDAP backend special OpenLDAP backend requires iRedAPD plugin `ldap_amavisd_block_blacklisted_senders`. * If you have iRedAdmin-Pro, you can manage this restriction in user profile page. * If you don't have iRedAdmin-Pro, you can manage it with phpLDAPadmin or other LDAP management tools. Related LDAP attributes are: * `mailWhitelistRecipient`: same as SQL `mailbox.allowedrecipients` * `mailBlacklistRecipient`: same as `mailbox.rejectedrecipients` Values for these LDAP attributes use the same format as mentioned above. Note: multiple recipients must be stored in multiple attributes like below: ``` mailWhitelistRecipient: @example.com mailWhitelistRecipient: @gmail.com mailWhitelistRecipient: @iredmail.org ```