在一个功能齐全的电子邮件服务器(本例中用 iRedmail 设置)中,RoundCube 用于网络邮件,Dovecot/Postfix/等,如何禁用外部客户端与 IMAP/SMTP/POP3 的连接,并使服务器仅用于网络邮件?我相信 Roundcube 在登录时直接连接到 Dovecot 进行用户身份验证,所以这很棘手。
我尝试更新 /etc/dovecot/dovecot-mysql.conf 中的 Dovecot SQL 查询,如果远程 IP 地址不是托管 Roundcube 网络邮件的服务器(例如 127.0.0.1),则拒绝所有 IMAP 请求:示例 SQL 查询:
# Original SQL query in dovecot-mysql.conf:
#user_query = SELECT ... FROM mailbox,domain WHERE ...
# Modified:
user_query = SELECT ... FROM mailbox,domain WHERE ... AND '%r' = '127.0.0.1'
但这会锁定所有用户,使其无法登录 RoundCube。删除它(并重新启动 dovecot 服务)后,立即允许再次登录。还有其他方法吗?
答案1
listen = 127.0.0.1
放入 /etc/dovecot/dovecot.conf可以吗?
另外,在 roundcube.conf 中,确保您有
$rcmail_config['default_host'] = '127.0.0.1';
而不是指向主机名,因为主机名可能会解析为不同的 IP 地址,因此会被拒绝。