在英文论坛里有过详细的解释(需翻墙):
http://www.iredmail.org/forum/topic5325 … users.html
如果无法翻墙,这里说明一下:
iRedAPD 带有插件 sql_user_restrictions 可以实现你要的功能。你要做的就是启用这个插件,再为这些要限制的用户添加适当的限制条件。
*) 在 /opt/iredapd/settings.py 里启用 sql_user_restrictions 插件,然后重启 iRedAPD 服务。
*) 如果你要为用户 user@example.com (example.com 是你自己的域名)做这样的限制,可以通过以下的 SQL 命令实现你要的效果:
mysql> USE vmail;
mysql> UPDATE mailbox SET allowedsenders='@example.com', rejectedsenders='@.', allowedrecipients='@example.com', rejectedrecipients='@.' WHERE username='user@example.com';
上面这个 SQL 命令的意思是:
- 拒收所有发件人发给 user@example.com 的邮件(rejectedsenders='@.')
- 允许 user@example.com 接收来自 example.com 的邮件(allowedsenders='@example.com')
- 禁止 user@example.com 发邮件给任何人(rejectedrecipients='@.')
- 允许 user@example.com 接收来自 example.com 的邮件(allowedrecipients='@example.com')
注意:
- 这里表示“所有人”的用 '@.' (一个 @ 符号加一个英文句点)表示。
- iRedAPD 会优先处理 allowedsenders 和 allowedrecipients,再处理 rejectedsenders 和 rejectedrecipients。
另外要注意的是,iRedMail-0.8.5 里带的 iRedAPD 版本有一个 bug,需要你自行下载修正后的 sql_user_restrictions 插件覆盖原文件(/opt/iredapd/plugins/sql_user_restrictions.py),再重启 iRedAPD 服务。
# cd /tmp/
# wget https://bitbucket.org/zhb/iredapd/raw/312521c215c3d3bb057fdd5adcaa475a267461ad/plugins/sql_user_restrictions.py
# cp /tmp/sql_user_restrictions.py /opt/iredapd/plugins/
# /etc/init.d/iredapd restart